summaryrefslogtreecommitdiff
path: root/vendor/modernc.org/libc
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-11-27 15:26:58 +0100
committerLibravatar GitHub <noreply@github.com>2021-11-27 15:26:58 +0100
commit182b4eea73881c611a0f519576aa6ad2aa6799c2 (patch)
tree230fac469690fcee8797b13585e739be148d4789 /vendor/modernc.org/libc
parentRequire confirmed email when checking oauth token (#332) (diff)
downloadgotosocial-182b4eea73881c611a0f519576aa6ad2aa6799c2.tar.xz
Update dependencies (#333)
Diffstat (limited to 'vendor/modernc.org/libc')
-rw-r--r--vendor/modernc.org/libc/Makefile50
-rw-r--r--vendor/modernc.org/libc/capi_darwin_amd64.go897
-rw-r--r--vendor/modernc.org/libc/capi_darwin_arm64.go58
-rw-r--r--vendor/modernc.org/libc/capi_freebsd_amd64.go879
-rw-r--r--vendor/modernc.org/libc/capi_linux_386.go55
-rw-r--r--vendor/modernc.org/libc/capi_linux_amd64.go28
-rw-r--r--vendor/modernc.org/libc/capi_linux_arm.go55
-rw-r--r--vendor/modernc.org/libc/capi_linux_arm64.go55
-rw-r--r--vendor/modernc.org/libc/capi_linux_s390x.go52
-rw-r--r--vendor/modernc.org/libc/capi_netbsd_amd64.go475
-rw-r--r--vendor/modernc.org/libc/capi_windows_386.go34
-rw-r--r--vendor/modernc.org/libc/capi_windows_amd64.go34
-rw-r--r--vendor/modernc.org/libc/ccgo.go128
-rw-r--r--vendor/modernc.org/libc/errno/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/errno/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/errno/errno_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/errno/errno_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_386.go3
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_arm.go4
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_arm64.go4
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_s390x.go4
-rw-r--r--vendor/modernc.org/libc/errno/errno_netbsd_amd64.go144
-rw-r--r--vendor/modernc.org/libc/errno/errno_windows_386.go60
-rw-r--r--vendor/modernc.org/libc/errno/errno_windows_amd64.go3
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_darwin_amd64.go14
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_darwin_arm64.go12
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_freebsd_amd64.go18
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_linux_386.go316
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_linux_amd64.go299
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_linux_arm.go358
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_linux_arm64.go613
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_linux_s390x.go304
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_netbsd_amd64.go1481
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_windows_386.go74
-rw-r--r--vendor/modernc.org/libc/fcntl/fcntl_windows_amd64.go17
-rw-r--r--vendor/modernc.org/libc/fts/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/fts/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/fts/fts_darwin_amd64.go3505
-rw-r--r--vendor/modernc.org/libc/fts/fts_darwin_arm64.go4230
-rw-r--r--vendor/modernc.org/libc/fts/fts_freebsd_amd64.go1847
-rw-r--r--vendor/modernc.org/libc/fts/fts_linux_386.go957
-rw-r--r--vendor/modernc.org/libc/fts/fts_linux_amd64.go963
-rw-r--r--vendor/modernc.org/libc/fts/fts_linux_arm.go1000
-rw-r--r--vendor/modernc.org/libc/fts/fts_linux_arm64.go1035
-rw-r--r--vendor/modernc.org/libc/fts/fts_linux_s390x.go960
-rw-r--r--vendor/modernc.org/libc/fts/fts_netbsd_amd64.go2626
-rw-r--r--vendor/modernc.org/libc/grp/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/grp/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/grp/grp_darwin_amd64.go18
-rw-r--r--vendor/modernc.org/libc/grp/grp_darwin_arm64.go14
-rw-r--r--vendor/modernc.org/libc/grp/grp_freebsd_amd64.go14
-rw-r--r--vendor/modernc.org/libc/grp/grp_linux_386.go238
-rw-r--r--vendor/modernc.org/libc/grp/grp_linux_amd64.go243
-rw-r--r--vendor/modernc.org/libc/grp/grp_linux_arm.go264
-rw-r--r--vendor/modernc.org/libc/grp/grp_linux_arm64.go276
-rw-r--r--vendor/modernc.org/libc/grp/grp_linux_s390x.go248
-rw-r--r--vendor/modernc.org/libc/grp/grp_netbsd_amd64.go1596
-rw-r--r--vendor/modernc.org/libc/ioutil_linux.go5
-rw-r--r--vendor/modernc.org/libc/ioutil_netbsd.go65
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_darwin_amd64.go6
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_freebsd_amd64.go4
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_linux_386.go61
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_linux_amd64.go60
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_linux_arm.go66
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_linux_arm64.go70
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_linux_s390x.go62
-rw-r--r--vendor/modernc.org/libc/langinfo/langinfo_netbsd_amd64.go189
-rw-r--r--vendor/modernc.org/libc/libc.go264
-rw-r--r--vendor/modernc.org/libc/libc_darwin.go147
-rw-r--r--vendor/modernc.org/libc/libc_freebsd.go140
-rw-r--r--vendor/modernc.org/libc/libc_linux.go239
-rw-r--r--vendor/modernc.org/libc/libc_linux_amd64.go20
-rw-r--r--vendor/modernc.org/libc/libc_linux_s390x.go24
-rw-r--r--vendor/modernc.org/libc/libc_netbsd.go2158
-rw-r--r--vendor/modernc.org/libc/libc_netbsd_amd64.go577
-rw-r--r--vendor/modernc.org/libc/libc_unix.go48
-rw-r--r--vendor/modernc.org/libc/libc_windows.go448
-rw-r--r--vendor/modernc.org/libc/limits/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/limits/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/limits/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/limits/limits_darwin_amd64.go6
-rw-r--r--vendor/modernc.org/libc/limits/limits_darwin_arm64.go6
-rw-r--r--vendor/modernc.org/libc/limits/limits_linux_386.go73
-rw-r--r--vendor/modernc.org/libc/limits/limits_linux_amd64.go72
-rw-r--r--vendor/modernc.org/libc/limits/limits_linux_arm.go82
-rw-r--r--vendor/modernc.org/libc/limits/limits_linux_arm64.go86
-rw-r--r--vendor/modernc.org/libc/limits/limits_linux_s390x.go74
-rw-r--r--vendor/modernc.org/libc/limits/limits_netbsd_amd64.go460
-rw-r--r--vendor/modernc.org/libc/limits/limits_windows_386.go64
-rw-r--r--vendor/modernc.org/libc/limits/limits_windows_amd64.go3
-rw-r--r--vendor/modernc.org/libc/log-generate27
-rw-r--r--vendor/modernc.org/libc/musl_darwin_amd64.go77
-rw-r--r--vendor/modernc.org/libc/musl_darwin_arm64.go64
-rw-r--r--vendor/modernc.org/libc/musl_freebsd_amd64.go41
-rw-r--r--vendor/modernc.org/libc/musl_linux_386.go249
-rw-r--r--vendor/modernc.org/libc/musl_linux_amd64.go240
-rw-r--r--vendor/modernc.org/libc/musl_linux_arm.go519
-rw-r--r--vendor/modernc.org/libc/musl_linux_arm64.go517
-rw-r--r--vendor/modernc.org/libc/musl_linux_s390x.go523
-rw-r--r--vendor/modernc.org/libc/musl_netbsd_amd64.go4324
-rw-r--r--vendor/modernc.org/libc/musl_windows_386.go29
-rw-r--r--vendor/modernc.org/libc/musl_windows_amd64.go30
-rw-r--r--vendor/modernc.org/libc/netdb/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/netdb/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_darwin_amd64.go80
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_darwin_arm64.go58
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_freebsd_amd64.go24
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_linux_386.go895
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_linux_amd64.go929
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_linux_arm.go987
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_linux_arm64.go1011
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_linux_s390x.go945
-rw-r--r--vendor/modernc.org/libc/netdb/netdb_netbsd_amd64.go1018
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/netinet/in/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_darwin_amd64.go52
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_darwin_arm64.go30
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_freebsd_amd64.go36
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_linux_386.go859
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_linux_amd64.go865
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_linux_arm.go951
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_linux_arm64.go947
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_linux_s390x.go881
-rw-r--r--vendor/modernc.org/libc/netinet/in/in_netbsd_amd64.go2950
-rw-r--r--vendor/modernc.org/libc/nopthreads.go34
-rw-r--r--vendor/modernc.org/libc/poll/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/poll/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/poll/poll_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/poll/poll_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/poll/poll_freebsd_amd64.go4
-rw-r--r--vendor/modernc.org/libc/poll/poll_linux_386.go49
-rw-r--r--vendor/modernc.org/libc/poll/poll_linux_amd64.go48
-rw-r--r--vendor/modernc.org/libc/poll/poll_linux_arm.go54
-rw-r--r--vendor/modernc.org/libc/poll/poll_linux_arm64.go58
-rw-r--r--vendor/modernc.org/libc/poll/poll_linux_s390x.go50
-rw-r--r--vendor/modernc.org/libc/poll/poll_netbsd_amd64.go351
-rw-r--r--vendor/modernc.org/libc/printf.go6
-rw-r--r--vendor/modernc.org/libc/pthread.go (renamed from vendor/modernc.org/libc/pthreads.go)43
-rw-r--r--vendor/modernc.org/libc/pthread/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/pthread/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/pthread/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_darwin_amd64.go30
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_darwin_arm64.go28
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_freebsd_amd64.go34
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_linux_386.go714
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_linux_amd64.go746
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_linux_arm.go763
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_linux_arm64.go793
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_linux_s390x.go745
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_netbsd_amd64.go2741
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_windows_386.go139
-rw-r--r--vendor/modernc.org/libc/pthread/pthread_windows_amd64.go67
-rw-r--r--vendor/modernc.org/libc/pthread_all.go44
-rw-r--r--vendor/modernc.org/libc/pwd/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/pwd/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_darwin_amd64.go8
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_darwin_arm64.go4
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_freebsd_amd64.go28
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_linux_386.go238
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_linux_amd64.go233
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_linux_arm.go264
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_linux_arm64.go266
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_linux_s390x.go238
-rw-r--r--vendor/modernc.org/libc/pwd/pwd_netbsd_amd64.go1622
-rw-r--r--vendor/modernc.org/libc/signal/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/signal/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/signal/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/signal/more_netbsd_amd64.go12
-rw-r--r--vendor/modernc.org/libc/signal/signal_darwin_amd64.go186
-rw-r--r--vendor/modernc.org/libc/signal/signal_darwin_arm64.go27
-rw-r--r--vendor/modernc.org/libc/signal/signal_freebsd_amd64.go70
-rw-r--r--vendor/modernc.org/libc/signal/signal_linux_386.go742
-rw-r--r--vendor/modernc.org/libc/signal/signal_linux_amd64.go774
-rw-r--r--vendor/modernc.org/libc/signal/signal_linux_arm.go877
-rw-r--r--vendor/modernc.org/libc/signal/signal_linux_arm64.go1167
-rw-r--r--vendor/modernc.org/libc/signal/signal_linux_s390x.go806
-rw-r--r--vendor/modernc.org/libc/signal/signal_netbsd_amd64.go2889
-rw-r--r--vendor/modernc.org/libc/signal/signal_windows_386.go60
-rw-r--r--vendor/modernc.org/libc/signal/signal_windows_amd64.go3
-rw-r--r--vendor/modernc.org/libc/stdio/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/stdio/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/stdio/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_darwin_amd64.go68
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_darwin_arm64.go66
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_freebsd_amd64.go62
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_linux_386.go210
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_linux_amd64.go213
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_linux_arm.go238
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_linux_arm64.go242
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_linux_s390x.go222
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_netbsd_amd64.go466
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_windows_386.go349
-rw-r--r--vendor/modernc.org/libc/stdio/stdio_windows_amd64.go352
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_darwin_amd64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_darwin_arm64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_freebsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_linux_386.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_linux_amd64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_linux_arm.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_linux_arm64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_linux_s390x.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_windows_386.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/capi_windows_amd64.go5
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_darwin_amd64.go6537
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_darwin_arm64.go4947
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_freebsd_amd64.go668
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_linux_386.go1513
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_linux_amd64.go1531
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_linux_arm.go1573
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_linux_arm64.go1607
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_linux_s390x.go1532
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_netbsd_amd64.go1620
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_windows_386.go547
-rw-r--r--vendor/modernc.org/libc/stdlib/stdlib_windows_amd64.go548
-rw-r--r--vendor/modernc.org/libc/sync.go (renamed from vendor/modernc.org/libc/sync_linux_amd64.go)11
-rw-r--r--vendor/modernc.org/libc/sync_linux_amd64.s9
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/sys/socket/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_darwin_amd64.go28
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_darwin_arm64.go28
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_freebsd_amd64.go32
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_linux_386.go767
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_linux_amd64.go767
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_linux_arm.go843
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_linux_arm64.go829
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_linux_s390x.go771
-rw-r--r--vendor/modernc.org/libc/sys/socket/socket_netbsd_amd64.go863
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_darwin_amd64.go14
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_darwin_arm64.go10
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_freebsd_amd64.go34
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_linux_386.go312
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_linux_amd64.go281
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_linux_arm.go340
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_linux_arm64.go471
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_linux_s390x.go286
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_netbsd_amd64.go2354
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_windows_386.go200
-rw-r--r--vendor/modernc.org/libc/sys/stat/stat_windows_amd64.go171
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/sys/types/types_darwin_amd64.go6
-rw-r--r--vendor/modernc.org/libc/sys/types/types_darwin_arm64.go6
-rw-r--r--vendor/modernc.org/libc/sys/types/types_freebsd_amd64.go10
-rw-r--r--vendor/modernc.org/libc/sys/types/types_linux_386.go590
-rw-r--r--vendor/modernc.org/libc/sys/types/types_linux_amd64.go592
-rw-r--r--vendor/modernc.org/libc/sys/types/types_linux_arm.go660
-rw-r--r--vendor/modernc.org/libc/sys/types/types_linux_arm64.go651
-rw-r--r--vendor/modernc.org/libc/sys/types/types_linux_s390x.go593
-rw-r--r--vendor/modernc.org/libc/sys/types/types_netbsd_amd64.go1364
-rw-r--r--vendor/modernc.org/libc/sys/types/types_windows_386.go60
-rw-r--r--vendor/modernc.org/libc/sys/types/types_windows_amd64.go21
-rw-r--r--vendor/modernc.org/libc/termios/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/termios/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/termios/termios_darwin_amd64.go22
-rw-r--r--vendor/modernc.org/libc/termios/termios_darwin_arm64.go18
-rw-r--r--vendor/modernc.org/libc/termios/termios_freebsd_amd64.go4
-rw-r--r--vendor/modernc.org/libc/termios/termios_linux_386.go280
-rw-r--r--vendor/modernc.org/libc/termios/termios_linux_amd64.go279
-rw-r--r--vendor/modernc.org/libc/termios/termios_linux_arm.go306
-rw-r--r--vendor/modernc.org/libc/termios/termios_linux_arm64.go312
-rw-r--r--vendor/modernc.org/libc/termios/termios_linux_s390x.go284
-rw-r--r--vendor/modernc.org/libc/termios/termios_netbsd_amd64.go733
-rw-r--r--vendor/modernc.org/libc/time/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/time/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/time/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/time/time_darwin_amd64.go30
-rw-r--r--vendor/modernc.org/libc/time/time_darwin_arm64.go28
-rw-r--r--vendor/modernc.org/libc/time/time_freebsd_amd64.go28
-rw-r--r--vendor/modernc.org/libc/time/time_linux_386.go273
-rw-r--r--vendor/modernc.org/libc/time/time_linux_amd64.go296
-rw-r--r--vendor/modernc.org/libc/time/time_linux_arm.go295
-rw-r--r--vendor/modernc.org/libc/time/time_linux_arm64.go321
-rw-r--r--vendor/modernc.org/libc/time/time_linux_s390x.go301
-rw-r--r--vendor/modernc.org/libc/time/time_netbsd_amd64.go2340
-rw-r--r--vendor/modernc.org/libc/time/time_windows_386.go102
-rw-r--r--vendor/modernc.org/libc/time/time_windows_amd64.go60
-rw-r--r--vendor/modernc.org/libc/unistd/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/unistd/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/unistd/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_darwin_amd64.go12
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_darwin_arm64.go8
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_freebsd_amd64.go10
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_linux_386.go274
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_linux_amd64.go273
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_linux_arm.go304
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_linux_arm64.go310
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_linux_s390x.go278
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_netbsd_amd64.go1804
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_windows_386.go97
-rw-r--r--vendor/modernc.org/libc/unistd/unistd_windows_amd64.go37
-rw-r--r--vendor/modernc.org/libc/utime/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/utime/capi_windows_386.go2
-rw-r--r--vendor/modernc.org/libc/utime/capi_windows_amd64.go2
-rw-r--r--vendor/modernc.org/libc/utime/utime_darwin_amd64.go6
-rw-r--r--vendor/modernc.org/libc/utime/utime_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/utime/utime_freebsd_amd64.go4
-rw-r--r--vendor/modernc.org/libc/utime/utime_linux_386.go237
-rw-r--r--vendor/modernc.org/libc/utime/utime_linux_amd64.go236
-rw-r--r--vendor/modernc.org/libc/utime/utime_linux_arm.go263
-rw-r--r--vendor/modernc.org/libc/utime/utime_linux_arm64.go269
-rw-r--r--vendor/modernc.org/libc/utime/utime_linux_s390x.go241
-rw-r--r--vendor/modernc.org/libc/utime/utime_netbsd_amd64.go144
-rw-r--r--vendor/modernc.org/libc/utime/utime_windows_386.go60
-rw-r--r--vendor/modernc.org/libc/utime/utime_windows_amd64.go3
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_darwin_amd64.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_darwin_arm64.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_linux_386.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_linux_amd64.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_linux_arm.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_linux_arm64.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/capi_linux_s390x.go2
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_darwin_amd64.go8
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_darwin_arm64.go4
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_linux_386.go662
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_linux_amd64.go688
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm.go732
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm64.go747
-rw-r--r--vendor/modernc.org/libc/uuid/uuid/uuid_linux_s390x.go689
-rw-r--r--vendor/modernc.org/libc/wctype/capi_darwin_amd64.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_darwin_arm64.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_freebsd_amd64.go29
-rw-r--r--vendor/modernc.org/libc/wctype/capi_linux_386.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_linux_amd64.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_linux_arm.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_linux_arm64.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_linux_s390x.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_windows_386.go5
-rw-r--r--vendor/modernc.org/libc/wctype/capi_windows_amd64.go5
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_darwin_amd64.go1405
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_darwin_arm64.go1387
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_freebsd_amd64.go796
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_linux_386.go931
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_linux_amd64.go949
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_linux_arm.go990
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_linux_arm64.go1017
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_linux_s390x.go948
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_netbsd_amd64.go326
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_windows_386.go288
-rw-r--r--vendor/modernc.org/libc/wctype/wctype_windows_amd64.go287
484 files changed, 114082 insertions, 19979 deletions
diff --git a/vendor/modernc.org/libc/Makefile b/vendor/modernc.org/libc/Makefile
index f94ffbe3d..e8a9ce1df 100644
--- a/vendor/modernc.org/libc/Makefile
+++ b/vendor/modernc.org/libc/Makefile
@@ -25,11 +25,13 @@ all:
go test 2>&1 -timeout 1h | tee -a $(log)
GOOS=darwin GOARCH=amd64 go build
GOOS=darwin GOARCH=arm64 go build
+ GOOS=freebsd GOARCH=amd64 go build
GOOS=linux GOARCH=386 go build
GOOS=linux GOARCH=amd64 go build
GOOS=linux GOARCH=arm go build
GOOS=linux GOARCH=arm64 go build
GOOS=linux GOARCH=s390x go build
+ GOOS=netbsd GOARCH=amd64 go build
GOOS=windows GOARCH=386 go build
GOOS=windows GOARCH=amd64 go build
go vet -unsafeptr=false 2>&1 | grep -v $(ngrep) || true
@@ -43,32 +45,42 @@ all:
date 2>&1 | tee -a $(log)
darwin_amd64:
- TARGET_GOOS=darwin TARGET_GOARCH=amd64 go generate
- GOOS=darwin GOARCH=amd64 go build -v ./...
+ @echo "Should be executed only on darwin/amd64."
+ go generate 2>&1 | tee log-generate
+ go build -v ./...
darwin_arm64:
- TARGET_GOOS=darwin TARGET_GOARCH=arm64 go generate
- GOOS=darwin GOARCH=arm64 go build -v ./...
+ @echo "Should be executed only on darwin/arm64."
+ go generate 2>&1 | tee log-generate
+ go build -v ./...
# only on freebsd/amd64
freebsd_amd64:
- TARGET_GOOS=freebsd TARGET_GOARCH=amd64 go generate
- GOOS=freebsd GOARCH=amd64 go build -v ./...
+ @echo "Should be executed only on freebsd/amd64."
+ go generate 2>&1 | tee log-generate
+ go build -v ./...
+
+# only on netbsd/amd64
+netbsd_amd64:
+ @echo "Should be executed only on netbsd/amd64."
+ go generate 2>&1 | tee log-generate
+ go build -v ./...
linux_amd64:
- TARGET_GOOS=linux TARGET_GOARCH=amd64 go generate
- GOOS=linux GOARCH=amd64 go build -v ./...
+ @echo "Should be executed only on linux/amd64."
+ go generate 2>&1 | tee log-generate
+ go build -v ./...
linux_386:
CCGO_CPP=i686-linux-gnu-cpp TARGET_GOOS=linux TARGET_GOARCH=386 go generate
GOOS=linux GOARCH=386 go build -v ./...
linux_arm:
- CCGO_CPP=arm-linux-gnueabi-cpp-8 TARGET_GOOS=linux TARGET_GOARCH=arm go generate
+ CCGO_CPP=arm-linux-gnueabi-cpp TARGET_GOOS=linux TARGET_GOARCH=arm go generate
GOOS=linux GOARCH=arm go build -v ./...
linux_arm64:
- CCGO_CPP=aarch64-linux-gnu-cpp-8 TARGET_GOOS=linux TARGET_GOARCH=arm64 go generate
+ CCGO_CPP=aarch64-linux-gnu-cpp TARGET_GOOS=linux TARGET_GOARCH=arm64 go generate
GOOS=linux GOARCH=arm64 go build -v ./...
linux_s390x:
@@ -76,10 +88,12 @@ linux_s390x:
GOOS=linux GOARCH=s390x go build -v ./...
windows_amd64:
- CCGO_CPP=x86_64-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=amd64 go generate
- GOOS=windows GOARCH=amd64 go build -v ./...
+ @echo "Should be executed only on windows/amd64."
+ go generate 2>&1 | tee log-generate
+ go build -v ./...
windows_386:
+ @echo "Should be executed only on linux/amd64."
CCGO_CPP=i686-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=386 go generate
GOOS=windows GOARCH=386 go build -v ./...
@@ -88,15 +102,27 @@ all_targets: linux_amd64 linux_386 linux_arm linux_arm64 windows_amd64 windows_3
build_all_targets:
GOOS=darwin GOARCH=amd64 go build -v ./...
+ GOOS=darwin GOARCH=amd64 go test -c -o /dev/null
GOOS=darwin GOARCH=arm64 go build -v ./...
+ GOOS=darwin GOARCH=arm64 go test -c -o /dev/null
GOOS=freebsd GOARCH=amd64 go build -v ./...
+ GOOS=freebsd GOARCH=amd64 go test -c -o /dev/null
GOOS=linux GOARCH=386 go build -v ./...
+ GOOS=linux GOARCH=386 go test -c -o /dev/null
GOOS=linux GOARCH=amd64 go build -v ./...
+ GOOS=linux GOARCH=amd64 go test -c -o /dev/null
GOOS=linux GOARCH=arm go build -v ./...
+ GOOS=linux GOARCH=arm go test -c -o /dev/null
GOOS=linux GOARCH=arm64 go build -v ./...
+ GOOS=linux GOARCH=arm64 go test -c -o /dev/null
GOOS=linux GOARCH=s390x go build -v ./...
+ GOOS=linux GOARCH=s390x go test -c -o /dev/null
+ GOOS=netbsd GOARCH=amd64 go build -v ./...
+ GOOS=netbsd GOARCH=amd64 go test -c -o /dev/null
GOOS=windows GOARCH=386 go build -v ./...
+ GOOS=windows GOARCH=386 go test -c -o /dev/null
GOOS=windows GOARCH=amd64 go build -v ./...
+ GOOS=windows GOARCH=amd64 go test -c -o /dev/null
echo done
devbench:
diff --git a/vendor/modernc.org/libc/capi_darwin_amd64.go b/vendor/modernc.org/libc/capi_darwin_amd64.go
index 5896bfabc..512b3e9ae 100644
--- a/vendor/modernc.org/libc/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/capi_darwin_amd64.go
@@ -3,426 +3,479 @@
package libc // import "modernc.org/libc"
var CAPI = map[string]struct{}{
- "_IO_putc": {},
- "_NSGetEnviron": {},
- "___errno_location": {},
- "__assert_fail": {},
- "__assert_rtn": {},
- "__builtin___memcpy_chk": {},
- "__builtin___memmove_chk": {},
- "__builtin___memset_chk": {},
- "__builtin___snprintf_chk": {},
- "__builtin___sprintf_chk": {},
- "__builtin___strcat_chk": {},
- "__builtin___strcpy_chk": {},
- "__builtin___strncpy_chk": {},
- "__builtin___vsnprintf_chk": {},
- "__builtin_abort": {},
- "__builtin_abs": {},
- "__builtin_add_overflowInt64": {},
- "__builtin_add_overflowUint32": {},
- "__builtin_add_overflowUint64": {},
- "__builtin_bswap16": {},
- "__builtin_bswap32": {},
- "__builtin_bswap64": {},
- "__builtin_clzll": {},
- "__builtin_constant_p_impl": {},
- "__builtin_copysign": {},
- "__builtin_copysignf": {},
- "__builtin_exit": {},
- "__builtin_expect": {},
- "__builtin_fabs": {},
- "__builtin_free": {},
- "__builtin_huge_val": {},
- "__builtin_huge_valf": {},
- "__builtin_inf": {},
- "__builtin_inff": {},
- "__builtin_isnan": {},
- "__builtin_malloc": {},
- "__builtin_memcmp": {},
- "__builtin_memcpy": {},
- "__builtin_memset": {},
- "__builtin_mmap": {},
- "__builtin_mul_overflowInt64": {},
- "__builtin_mul_overflowUint128": {},
- "__builtin_mul_overflowUint64": {},
- "__builtin_nanf": {},
- "__builtin_object_size": {},
- "__builtin_popcount": {},
- "__builtin_prefetch": {},
- "__builtin_printf": {},
- "__builtin_snprintf": {},
- "__builtin_sprintf": {},
- "__builtin_strchr": {},
- "__builtin_strcmp": {},
- "__builtin_strcpy": {},
- "__builtin_strlen": {},
- "__builtin_sub_overflowInt64": {},
- "__builtin_trap": {},
- "__builtin_unreachable": {},
- "__ccgo_in6addr_anyp": {},
- "__ccgo_sqlite3_log": {},
- "__cmsg_nxthdr": {},
- "__ctype_b_loc": {},
- "__ctype_get_mb_cur_max": {},
- "__darwin_fd_clr": {},
- "__darwin_fd_isset": {},
- "__darwin_fd_set": {},
- "__env_rm_add": {},
- "__errno_location": {},
- "__error": {},
- "__floatscan": {},
- "__fpclassify": {},
- "__fpclassifyf": {},
- "__fpclassifyl": {},
- "__h_errno_location": {},
- "__inet_aton": {},
- "__inline_isnand": {},
- "__inline_isnanf": {},
- "__inline_isnanl": {},
- "__intscan": {},
- "__isalnum_l": {},
- "__isalpha_l": {},
- "__isdigit_l": {},
- "__islower_l": {},
- "__isnan": {},
- "__isnanf": {},
- "__isnanl": {},
- "__isoc99_sscanf": {},
- "__isprint_l": {},
- "__isupper_l": {},
- "__isxdigit_l": {},
- "__lookup_ipliteral": {},
- "__lookup_name": {},
- "__lookup_serv": {},
- "__putenv": {},
- "__shgetc": {},
- "__shlim": {},
- "__stderrp": {},
- "__stdinp": {},
- "__stdoutp": {},
- "__strchrnul": {},
- "__toread": {},
- "__toread_needs_stdio_exit": {},
- "__uflow": {},
- "_exit": {},
- "_obstack_begin": {},
- "_obstack_newchunk": {},
- "abort": {},
- "abs": {},
- "accept": {},
- "access": {},
- "acos": {},
- "acosh": {},
- "alarm": {},
- "asin": {},
- "asinh": {},
- "atan": {},
- "atan2": {},
- "atanh": {},
- "atexit": {},
- "atof": {},
- "atoi": {},
- "atol": {},
- "bind": {},
- "calloc": {},
- "ceil": {},
- "ceilf": {},
- "cfgetospeed": {},
- "cfsetispeed": {},
- "cfsetospeed": {},
- "chdir": {},
- "chflags": {},
- "chmod": {},
- "chown": {},
- "clock_gettime": {},
- "close": {},
- "closedir": {},
- "confstr": {},
- "connect": {},
- "copyfile": {},
- "copysign": {},
- "copysignf": {},
- "copysignl": {},
- "cos": {},
- "cosf": {},
- "cosh": {},
- "dlclose": {},
- "dlerror": {},
- "dlopen": {},
- "dlsym": {},
- "dup2": {},
- "environ": {},
- "exit": {},
- "exp": {},
- "fabs": {},
- "fabsf": {},
- "fabsl": {},
- "fchmod": {},
- "fchown": {},
- "fclose": {},
- "fcntl": {},
- "fcntl64": {},
- "fdopen": {},
- "ferror": {},
- "fflush": {},
- "fgetc": {},
- "fgets": {},
- "fileno": {},
- "flock": {},
- "floor": {},
- "fmod": {},
- "fmodl": {},
- "fopen": {},
- "fopen64": {},
- "fork": {},
- "fprintf": {},
- "fputc": {},
- "fputs": {},
- "fread": {},
- "free": {},
- "freeaddrinfo": {},
- "frexp": {},
- "fsctl": {},
- "fseek": {},
- "fstat": {},
- "fstat64": {},
- "fstatfs": {},
- "fsync": {},
- "ftell": {},
- "ftruncate": {},
- "fts_close": {},
- "fts_open": {},
- "fts_read": {},
- "futimes": {},
- "fwrite": {},
- "gai_strerror": {},
- "getaddrinfo": {},
- "getattrlist": {},
- "getcwd": {},
- "getegid": {},
- "getenv": {},
- "geteuid": {},
- "getgid": {},
- "getgrgid": {},
- "getgrnam": {},
- "gethostbyaddr": {},
- "gethostbyaddr_r": {},
- "gethostbyname": {},
- "gethostbyname2": {},
- "gethostbyname2_r": {},
- "gethostname": {},
- "gethostuuid": {},
- "getnameinfo": {},
- "getpeername": {},
- "getpid": {},
- "getpwnam": {},
- "getpwnam_r": {},
- "getpwuid": {},
- "getpwuid_r": {},
- "getresgid": {},
- "getresuid": {},
- "getrusage": {},
- "getservbyname": {},
- "getsockname": {},
- "getsockopt": {},
- "gettimeofday": {},
- "getuid": {},
- "gmtime_r": {},
- "h_errno": {},
- "htonl": {},
- "htons": {},
- "hypot": {},
- "inet_ntoa": {},
- "inet_ntop": {},
- "inet_pton": {},
- "initstate_r": {},
- "ioctl": {},
- "isalnum": {},
- "isalpha": {},
- "isatty": {},
- "isdigit": {},
- "islower": {},
- "isnan": {},
- "isnanf": {},
- "isnanl": {},
- "isprint": {},
- "isspace": {},
- "isupper": {},
- "isxdigit": {},
- "kill": {},
- "ldexp": {},
- "link": {},
- "listen": {},
- "localtime": {},
- "localtime_r": {},
- "log": {},
- "log10": {},
- "lrand48": {},
- "lseek": {},
- "lseek64": {},
- "lstat": {},
- "lstat64": {},
- "mach_absolute_time": {},
- "mach_timebase_info": {},
- "malloc": {},
- "mblen": {},
- "mbstowcs": {},
- "mbtowc": {},
- "memchr": {},
- "memcmp": {},
- "memcpy": {},
- "memmove": {},
- "memset": {},
- "mkdir": {},
- "mkfifo": {},
- "mknod": {},
- "mkstemp": {},
- "mkstemps": {},
- "mkstemps64": {},
- "mktime": {},
- "mmap": {},
- "modf": {},
- "munmap": {},
- "nanf": {},
- "nl_langinfo": {},
- "ntohs": {},
- "obstack_free": {},
- "obstack_vprintf": {},
- "open": {},
- "opendir": {},
- "openpty": {},
- "pathconf": {},
- "pclose": {},
- "perror": {},
- "pipe": {},
- "poll": {},
- "popen": {},
- "posix_fadvise": {},
- "pow": {},
- "pread": {},
- "printf": {},
- "pselect": {},
- "putc": {},
- "putchar": {},
- "putenv": {},
- "puts": {},
- "pwrite": {},
- "qsort": {},
- "raise": {},
- "rand": {},
- "rand_r": {},
- "random": {},
- "random_r": {},
- "read": {},
- "readdir": {},
- "readlink": {},
- "readv": {},
- "realloc": {},
- "realpath": {},
- "recv": {},
- "recvfrom": {},
- "recvmsg": {},
- "remove": {},
- "rename": {},
- "rewind": {},
- "rmdir": {},
- "round": {},
- "scalbn": {},
- "scalbnl": {},
- "select": {},
- "send": {},
- "sendmsg": {},
- "sendto": {},
- "setattrlist": {},
- "setbuf": {},
- "setenv": {},
- "setlocale": {},
- "setsid": {},
- "setsockopt": {},
- "setvbuf": {},
- "shmat": {},
- "shmctl": {},
- "shmdt": {},
- "shutdown": {},
- "sigaction": {},
- "signal": {},
- "sin": {},
- "sinf": {},
- "sinh": {},
- "sleep": {},
- "snprintf": {},
- "socket": {},
- "sprintf": {},
- "sqrt": {},
- "srand48": {},
- "srandomdev": {},
- "sscanf": {},
- "stat": {},
- "stat64": {},
- "statfs": {},
- "stderr": {},
- "stdin": {},
- "stdout": {},
- "strcasecmp": {},
- "strcat": {},
- "strchr": {},
- "strcmp": {},
- "strcpy": {},
- "strcspn": {},
- "strdup": {},
- "strerror": {},
- "strlcat": {},
- "strlcpy": {},
- "strlen": {},
- "strncat": {},
- "strncmp": {},
- "strncpy": {},
- "strnlen": {},
- "strpbrk": {},
- "strrchr": {},
- "strspn": {},
- "strstr": {},
- "strtod": {},
- "strtof": {},
- "strtoimax": {},
- "strtok": {},
- "strtol": {},
- "strtold": {},
- "strtoll": {},
- "strtoul": {},
- "strtoull": {},
- "strtoumax": {},
- "symlink": {},
- "sysconf": {},
- "system": {},
- "tan": {},
- "tanh": {},
- "tcgetattr": {},
- "tcsendbreak": {},
- "tcsetattr": {},
- "time": {},
- "tolower": {},
- "toupper": {},
- "trunc": {},
- "truncate": {},
- "tzset": {},
- "umask": {},
- "uname": {},
- "unlink": {},
- "unsetenv": {},
- "usleep": {},
- "utime": {},
- "utimes": {},
- "vasprintf": {},
- "vfprintf": {},
- "vprintf": {},
- "vsnprintf": {},
- "vsprintf": {},
- "waitpid": {},
- "wcschr": {},
- "wctomb": {},
- "wcwidth": {},
- "write": {},
- "zero_struct_address": {},
+ "_IO_putc": {},
+ "_NSGetEnviron": {},
+ "___errno_location": {},
+ "__assert_fail": {},
+ "__assert_rtn": {},
+ "__builtin___memcpy_chk": {},
+ "__builtin___memmove_chk": {},
+ "__builtin___memset_chk": {},
+ "__builtin___snprintf_chk": {},
+ "__builtin___sprintf_chk": {},
+ "__builtin___strcat_chk": {},
+ "__builtin___strcpy_chk": {},
+ "__builtin___strncpy_chk": {},
+ "__builtin___vsnprintf_chk": {},
+ "__builtin_abort": {},
+ "__builtin_abs": {},
+ "__builtin_add_overflowInt64": {},
+ "__builtin_add_overflowUint32": {},
+ "__builtin_add_overflowUint64": {},
+ "__builtin_bswap16": {},
+ "__builtin_bswap32": {},
+ "__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
+ "__builtin_clzll": {},
+ "__builtin_constant_p_impl": {},
+ "__builtin_copysign": {},
+ "__builtin_copysignf": {},
+ "__builtin_copysignl": {},
+ "__builtin_exit": {},
+ "__builtin_expect": {},
+ "__builtin_fabs": {},
+ "__builtin_free": {},
+ "__builtin_getentropy": {},
+ "__builtin_huge_val": {},
+ "__builtin_huge_valf": {},
+ "__builtin_inf": {},
+ "__builtin_inff": {},
+ "__builtin_infl": {},
+ "__builtin_isnan": {},
+ "__builtin_malloc": {},
+ "__builtin_memcmp": {},
+ "__builtin_memcpy": {},
+ "__builtin_memset": {},
+ "__builtin_mmap": {},
+ "__builtin_mul_overflowInt64": {},
+ "__builtin_mul_overflowUint128": {},
+ "__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
+ "__builtin_nanf": {},
+ "__builtin_nanl": {},
+ "__builtin_object_size": {},
+ "__builtin_popcount": {},
+ "__builtin_popcountl": {},
+ "__builtin_prefetch": {},
+ "__builtin_printf": {},
+ "__builtin_snprintf": {},
+ "__builtin_sprintf": {},
+ "__builtin_strchr": {},
+ "__builtin_strcmp": {},
+ "__builtin_strcpy": {},
+ "__builtin_strlen": {},
+ "__builtin_sub_overflowInt64": {},
+ "__builtin_trap": {},
+ "__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
+ "__ccgo_getMutexType": {},
+ "__ccgo_in6addr_anyp": {},
+ "__ccgo_pthreadAttrGetDetachState": {},
+ "__ccgo_pthreadMutexattrGettype": {},
+ "__ccgo_sqlite4_log": {},
+ "__cmsg_nxthdr": {},
+ "__ctype_get_mb_cur_max": {},
+ "__darwin_fd_clr": {},
+ "__darwin_fd_isset": {},
+ "__darwin_fd_set": {},
+ "__env_rm_add": {},
+ "__errno_location": {},
+ "__error": {},
+ "__floatscan": {},
+ "__fpclassify": {},
+ "__fpclassifyf": {},
+ "__fpclassifyl": {},
+ "__h_errno_location": {},
+ "__inet_aton": {},
+ "__inline_isnand": {},
+ "__inline_isnanf": {},
+ "__inline_isnanl": {},
+ "__intscan": {},
+ "__isalnum_l": {},
+ "__isalpha_l": {},
+ "__isdigit_l": {},
+ "__islower_l": {},
+ "__isnan": {},
+ "__isnanf": {},
+ "__isnanl": {},
+ "__isoc99_sscanf": {},
+ "__isprint_l": {},
+ "__isupper_l": {},
+ "__isxdigit_l": {},
+ "__lookup_ipliteral": {},
+ "__lookup_name": {},
+ "__lookup_serv": {},
+ "__putenv": {},
+ "__shgetc": {},
+ "__shlim": {},
+ "__stderrp": {},
+ "__stdinp": {},
+ "__stdoutp": {},
+ "__strchrnul": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
+ "__toread": {},
+ "__toread_needs_stdio_exit": {},
+ "__uflow": {},
+ "_exit": {},
+ "_longjmp": {},
+ "_obstack_begin": {},
+ "_obstack_newchunk": {},
+ "_setjmp": {},
+ "abort": {},
+ "abs": {},
+ "accept": {},
+ "access": {},
+ "acos": {},
+ "acosh": {},
+ "alarm": {},
+ "arc4random_buf": {},
+ "asin": {},
+ "asinh": {},
+ "atan": {},
+ "atan2": {},
+ "atanh": {},
+ "atexit": {},
+ "atof": {},
+ "atoi": {},
+ "atol": {},
+ "bind": {},
+ "calloc": {},
+ "ceil": {},
+ "ceilf": {},
+ "cfgetospeed": {},
+ "cfsetispeed": {},
+ "cfsetospeed": {},
+ "chdir": {},
+ "chflags": {},
+ "chmod": {},
+ "chown": {},
+ "clock": {},
+ "clock_gettime": {},
+ "close": {},
+ "closedir": {},
+ "confstr": {},
+ "connect": {},
+ "copyfile": {},
+ "copysign": {},
+ "copysignf": {},
+ "copysignl": {},
+ "cos": {},
+ "cosf": {},
+ "cosh": {},
+ "dlclose": {},
+ "dlerror": {},
+ "dlopen": {},
+ "dlsym": {},
+ "dup3": {},
+ "environ": {},
+ "exit": {},
+ "exp": {},
+ "fabs": {},
+ "fabsf": {},
+ "fabsl": {},
+ "fchmod": {},
+ "fchown": {},
+ "fclose": {},
+ "fcntl": {},
+ "fcntl64": {},
+ "fdopen": {},
+ "ferror": {},
+ "fflush": {},
+ "fgetc": {},
+ "fgets": {},
+ "fileno": {},
+ "flock": {},
+ "floor": {},
+ "fmod": {},
+ "fmodl": {},
+ "fopen": {},
+ "fopen64": {},
+ "fork": {},
+ "fprintf": {},
+ "fputc": {},
+ "fputs": {},
+ "fread": {},
+ "free": {},
+ "freeaddrinfo": {},
+ "frexp": {},
+ "fsctl": {},
+ "fseek": {},
+ "fstat": {},
+ "fstat64": {},
+ "fstatfs": {},
+ "fsync": {},
+ "ftell": {},
+ "ftruncate": {},
+ "fts_close": {},
+ "fts_open": {},
+ "fts_read": {},
+ "futimes": {},
+ "fwrite": {},
+ "gai_strerror": {},
+ "getaddrinfo": {},
+ "getattrlist": {},
+ "getcwd": {},
+ "getegid": {},
+ "getentropy": {},
+ "getenv": {},
+ "geteuid": {},
+ "getgid": {},
+ "getgrgid": {},
+ "getgrnam": {},
+ "gethostbyaddr": {},
+ "gethostbyaddr_r": {},
+ "gethostbyname": {},
+ "gethostbyname2": {},
+ "gethostbyname2_r": {},
+ "gethostname": {},
+ "gethostuuid": {},
+ "getnameinfo": {},
+ "getpeername": {},
+ "getpid": {},
+ "getpwnam": {},
+ "getpwuid": {},
+ "getresgid": {},
+ "getresuid": {},
+ "getrusage": {},
+ "getservbyname": {},
+ "getsockname": {},
+ "getsockopt": {},
+ "gettimeofday": {},
+ "getuid": {},
+ "gmtime_r": {},
+ "h_errno": {},
+ "htonl": {},
+ "htons": {},
+ "hypot": {},
+ "inet_ntoa": {},
+ "inet_ntop": {},
+ "inet_pton": {},
+ "ioctl": {},
+ "isalnum": {},
+ "isalpha": {},
+ "isatty": {},
+ "isdigit": {},
+ "islower": {},
+ "isnan": {},
+ "isnanf": {},
+ "isnanl": {},
+ "isprint": {},
+ "isspace": {},
+ "isupper": {},
+ "iswalnum": {},
+ "iswspace": {},
+ "isxdigit": {},
+ "kill": {},
+ "ldexp": {},
+ "link": {},
+ "listen": {},
+ "localtime": {},
+ "localtime_r": {},
+ "log": {},
+ "log10": {},
+ "longjmp": {},
+ "lrand48": {},
+ "lseek": {},
+ "lseek64": {},
+ "lstat": {},
+ "lstat64": {},
+ "mach_absolute_time": {},
+ "mach_timebase_info": {},
+ "malloc": {},
+ "mblen": {},
+ "mbstowcs": {},
+ "mbtowc": {},
+ "memchr": {},
+ "memcmp": {},
+ "memcpy": {},
+ "memmove": {},
+ "memset": {},
+ "mkdir": {},
+ "mkfifo": {},
+ "mknod": {},
+ "mkstemp": {},
+ "mkstemps": {},
+ "mkstemps64": {},
+ "mktime": {},
+ "mmap": {},
+ "modf": {},
+ "munmap": {},
+ "nanf": {},
+ "nl_langinfo": {},
+ "ntohs": {},
+ "obstack_free": {},
+ "obstack_vprintf": {},
+ "open": {},
+ "opendir": {},
+ "openpty": {},
+ "pathconf": {},
+ "pclose": {},
+ "perror": {},
+ "pipe": {},
+ "poll": {},
+ "popen": {},
+ "posix_fadvise": {},
+ "pow": {},
+ "pread": {},
+ "printf": {},
+ "pselect": {},
+ "pthread_attr_destroy": {},
+ "pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
+ "pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
+ "putc": {},
+ "putchar": {},
+ "putenv": {},
+ "puts": {},
+ "pwrite": {},
+ "qsort": {},
+ "raise": {},
+ "rand": {},
+ "rand_r": {},
+ "random": {},
+ "read": {},
+ "readdir": {},
+ "readlink": {},
+ "readv": {},
+ "realloc": {},
+ "reallocarray": {},
+ "realpath": {},
+ "recv": {},
+ "recvfrom": {},
+ "recvmsg": {},
+ "remove": {},
+ "rename": {},
+ "rewind": {},
+ "rint": {},
+ "rmdir": {},
+ "round": {},
+ "scalbn": {},
+ "scalbnl": {},
+ "sched_yield": {},
+ "select": {},
+ "send": {},
+ "sendmsg": {},
+ "sendto": {},
+ "setattrlist": {},
+ "setbuf": {},
+ "setenv": {},
+ "setjmp": {},
+ "setlocale": {},
+ "setsid": {},
+ "setsockopt": {},
+ "setvbuf": {},
+ "shmat": {},
+ "shmctl": {},
+ "shmdt": {},
+ "shutdown": {},
+ "sigaction": {},
+ "signal": {},
+ "sin": {},
+ "sinf": {},
+ "sinh": {},
+ "sleep": {},
+ "snprintf": {},
+ "socket": {},
+ "sprintf": {},
+ "sqrt": {},
+ "srand48": {},
+ "srandomdev": {},
+ "sscanf": {},
+ "stat": {},
+ "stat64": {},
+ "statfs": {},
+ "stderr": {},
+ "stdin": {},
+ "stdout": {},
+ "strcasecmp": {},
+ "strcat": {},
+ "strchr": {},
+ "strcmp": {},
+ "strcpy": {},
+ "strcspn": {},
+ "strdup": {},
+ "strerror": {},
+ "strlcat": {},
+ "strlcpy": {},
+ "strlen": {},
+ "strncat": {},
+ "strncmp": {},
+ "strncpy": {},
+ "strnlen": {},
+ "strpbrk": {},
+ "strrchr": {},
+ "strspn": {},
+ "strstr": {},
+ "strtod": {},
+ "strtof": {},
+ "strtoimax": {},
+ "strtok": {},
+ "strtol": {},
+ "strtold": {},
+ "strtoll": {},
+ "strtoul": {},
+ "strtoull": {},
+ "strtoumax": {},
+ "symlink": {},
+ "sysconf": {},
+ "system": {},
+ "tan": {},
+ "tanh": {},
+ "tcgetattr": {},
+ "tcsendbreak": {},
+ "tcsetattr": {},
+ "time": {},
+ "tmpfile": {},
+ "tolower": {},
+ "toupper": {},
+ "trunc": {},
+ "truncate": {},
+ "tzset": {},
+ "umask": {},
+ "uname": {},
+ "unlink": {},
+ "unsetenv": {},
+ "usleep": {},
+ "utime": {},
+ "utimes": {},
+ "vasprintf": {},
+ "vfprintf": {},
+ "vprintf": {},
+ "vsnprintf": {},
+ "vsprintf": {},
+ "waitpid": {},
+ "wcschr": {},
+ "wctomb": {},
+ "wcwidth": {},
+ "write": {},
+ "zero_struct_address": {},
}
diff --git a/vendor/modernc.org/libc/capi_darwin_arm64.go b/vendor/modernc.org/libc/capi_darwin_arm64.go
index 5896bfabc..fb7151c56 100644
--- a/vendor/modernc.org/libc/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/capi_darwin_arm64.go
@@ -25,18 +25,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -46,9 +51,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -60,10 +68,10 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_sqlite3_log": {},
"__cmsg_nxthdr": {},
- "__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__darwin_fd_clr": {},
"__darwin_fd_isset": {},
@@ -102,12 +110,17 @@ var CAPI = map[string]struct{}{
"__stdinp": {},
"__stdoutp": {},
"__strchrnul": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"__toread": {},
"__toread_needs_stdio_exit": {},
"__uflow": {},
"_exit": {},
+ "_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
+ "_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
@@ -135,6 +148,7 @@ var CAPI = map[string]struct{}{
"chflags": {},
"chmod": {},
"chown": {},
+ "clock": {},
"clock_gettime": {},
"close": {},
"closedir": {},
@@ -201,6 +215,7 @@ var CAPI = map[string]struct{}{
"getattrlist": {},
"getcwd": {},
"getegid": {},
+ "getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
@@ -217,9 +232,7 @@ var CAPI = map[string]struct{}{
"getpeername": {},
"getpid": {},
"getpwnam": {},
- "getpwnam_r": {},
"getpwuid": {},
- "getpwuid_r": {},
"getresgid": {},
"getresuid": {},
"getrusage": {},
@@ -236,7 +249,6 @@ var CAPI = map[string]struct{}{
"inet_ntoa": {},
"inet_ntop": {},
"inet_pton": {},
- "initstate_r": {},
"ioctl": {},
"isalnum": {},
"isalpha": {},
@@ -249,6 +261,8 @@ var CAPI = map[string]struct{}{
"isprint": {},
"isspace": {},
"isupper": {},
+ "iswalnum": {},
+ "iswspace": {},
"isxdigit": {},
"kill": {},
"ldexp": {},
@@ -258,6 +272,7 @@ var CAPI = map[string]struct{}{
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
@@ -303,6 +318,36 @@ var CAPI = map[string]struct{}{
"pread": {},
"printf": {},
"pselect": {},
+ "pthread_attr_destroy": {},
+ "pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
+ "pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
"putc": {},
"putchar": {},
"putenv": {},
@@ -313,12 +358,12 @@ var CAPI = map[string]struct{}{
"rand": {},
"rand_r": {},
"random": {},
- "random_r": {},
"read": {},
"readdir": {},
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
@@ -326,6 +371,7 @@ var CAPI = map[string]struct{}{
"remove": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
@@ -337,6 +383,7 @@ var CAPI = map[string]struct{}{
"setattrlist": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setsid": {},
"setsockopt": {},
@@ -402,6 +449,7 @@ var CAPI = map[string]struct{}{
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
+ "tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
diff --git a/vendor/modernc.org/libc/capi_freebsd_amd64.go b/vendor/modernc.org/libc/capi_freebsd_amd64.go
index 8009a6a9f..7b5f6c007 100644
--- a/vendor/modernc.org/libc/capi_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/capi_freebsd_amd64.go
@@ -3,419 +3,468 @@
package libc // import "modernc.org/libc"
var CAPI = map[string]struct{}{
- "_CurrentRuneLocale": {},
- "_DefaultRuneLocale": {},
- "_IO_putc": {},
- "_ThreadRuneLocale": {},
- "___errno_location": {},
- "___runetype": {},
- "__assert": {},
- "__assert_fail": {},
- "__builtin___memcpy_chk": {},
- "__builtin___memmove_chk": {},
- "__builtin___memset_chk": {},
- "__builtin___snprintf_chk": {},
- "__builtin___sprintf_chk": {},
- "__builtin___strcat_chk": {},
- "__builtin___strcpy_chk": {},
- "__builtin___strncpy_chk": {},
- "__builtin___vsnprintf_chk": {},
- "__builtin_abort": {},
- "__builtin_abs": {},
- "__builtin_add_overflowInt64": {},
- "__builtin_add_overflowUint32": {},
- "__builtin_add_overflowUint64": {},
- "__builtin_bswap16": {},
- "__builtin_bswap32": {},
- "__builtin_bswap64": {},
- "__builtin_clzll": {},
- "__builtin_constant_p_impl": {},
- "__builtin_copysign": {},
- "__builtin_copysignf": {},
- "__builtin_exit": {},
- "__builtin_expect": {},
- "__builtin_fabs": {},
- "__builtin_free": {},
- "__builtin_huge_val": {},
- "__builtin_huge_valf": {},
- "__builtin_inf": {},
- "__builtin_inff": {},
- "__builtin_isnan": {},
- "__builtin_malloc": {},
- "__builtin_memcmp": {},
- "__builtin_memcpy": {},
- "__builtin_memset": {},
- "__builtin_mmap": {},
- "__builtin_mul_overflowInt64": {},
- "__builtin_mul_overflowUint128": {},
- "__builtin_mul_overflowUint64": {},
- "__builtin_nanf": {},
- "__builtin_object_size": {},
- "__builtin_popcount": {},
- "__builtin_prefetch": {},
- "__builtin_printf": {},
- "__builtin_snprintf": {},
- "__builtin_sprintf": {},
- "__builtin_strchr": {},
- "__builtin_strcmp": {},
- "__builtin_strcpy": {},
- "__builtin_strlen": {},
- "__builtin_sub_overflowInt64": {},
- "__builtin_trap": {},
- "__builtin_unreachable": {},
- "__ccgo_in6addr_anyp": {},
- "__ccgo_sqlite3_log": {},
- "__cmsg_nxthdr": {},
- "__ctype_b_loc": {},
- "__ctype_get_mb_cur_max": {},
- "__errno_location": {},
- "__error": {},
- "__floatscan": {},
- "__h_errno_location": {},
- "__inet_aton": {},
- "__inet_ntoa": {},
- "__intscan": {},
- "__isalnum_l": {},
- "__isalpha_l": {},
- "__isdigit_l": {},
- "__isnan": {},
- "__isnanf": {},
- "__isnanl": {},
- "__isoc99_sscanf": {},
- "__isthreaded": {},
- "__lookup_ipliteral": {},
- "__lookup_name": {},
- "__lookup_serv": {},
- "__mb_sb_limit": {},
- "__runes_for_locale": {},
- "__shgetc": {},
- "__shlim": {},
- "__stderrp": {},
- "__stdinp": {},
- "__stdoutp": {},
- "__swbuf": {},
- "__syscall1": {},
- "__syscall3": {},
- "__syscall4": {},
- "__toread": {},
- "__toread_needs_stdio_exit": {},
- "__uflow": {},
- "__xuname": {},
- "_exit": {},
- "_obstack_begin": {},
- "_obstack_newchunk": {},
- "abort": {},
- "abs": {},
- "accept": {},
- "access": {},
- "acos": {},
- "acosh": {},
- "alarm": {},
- "asin": {},
- "asinh": {},
- "atan": {},
- "atan2": {},
- "atanh": {},
- "atexit": {},
- "atof": {},
- "atoi": {},
- "atol": {},
- "backtrace": {},
- "backtrace_symbols_fd": {},
- "bind": {},
- "calloc": {},
- "ceil": {},
- "ceilf": {},
- "cfgetospeed": {},
- "cfsetispeed": {},
- "cfsetospeed": {},
- "chdir": {},
- "chflags": {},
- "chmod": {},
- "chown": {},
- "clock_gettime": {},
- "close": {},
- "closedir": {},
- "confstr": {},
- "connect": {},
- "copysign": {},
- "copysignf": {},
- "copysignl": {},
- "cos": {},
- "cosf": {},
- "cosh": {},
- "ctime": {},
- "ctime_r": {},
- "dlclose": {},
- "dlerror": {},
- "dlopen": {},
- "dlsym": {},
- "dup2": {},
- "endpwent": {},
- "environ": {},
- "execvp": {},
- "exit": {},
- "exp": {},
- "fabs": {},
- "fabsf": {},
- "fabsl": {},
- "fchmod": {},
- "fchown": {},
- "fclose": {},
- "fcntl": {},
- "fcntl64": {},
- "fdopen": {},
- "ferror": {},
- "fflush": {},
- "fgetc": {},
- "fgets": {},
- "fileno": {},
- "floor": {},
- "fmod": {},
- "fmodl": {},
- "fopen": {},
- "fopen64": {},
- "fork": {},
- "fprintf": {},
- "fputc": {},
- "fputs": {},
- "fread": {},
- "free": {},
- "freeaddrinfo": {},
- "frexp": {},
- "fscanf": {},
- "fseek": {},
- "fstat": {},
- "fstat64": {},
- "fsync": {},
- "ftell": {},
- "ftruncate": {},
- "fts64_close": {},
- "fts64_open": {},
- "fts64_read": {},
- "fts_close": {},
- "fts_open": {},
- "fts_read": {},
- "fwrite": {},
- "gai_strerror": {},
- "getaddrinfo": {},
- "getc": {},
- "getcwd": {},
- "getegid": {},
- "getenv": {},
- "geteuid": {},
- "getgid": {},
- "getgrgid": {},
- "getgrgid_r": {},
- "getgrnam": {},
- "getgrnam_r": {},
- "gethostbyaddr": {},
- "gethostbyaddr_r": {},
- "gethostbyname": {},
- "gethostbyname2": {},
- "gethostbyname2_r": {},
- "gethostname": {},
- "getnameinfo": {},
- "getpeername": {},
- "getpid": {},
- "getpwnam": {},
- "getpwnam_r": {},
- "getpwuid": {},
- "getpwuid_r": {},
- "getresgid": {},
- "getresuid": {},
- "getrlimit": {},
- "getrlimit64": {},
- "getrusage": {},
- "getservbyname": {},
- "getsockname": {},
- "getsockopt": {},
- "gettimeofday": {},
- "getuid": {},
- "gmtime_r": {},
- "h_errno": {},
- "htonl": {},
- "htons": {},
- "hypot": {},
- "inet_ntoa": {},
- "inet_ntop": {},
- "inet_pton": {},
- "initstate_r": {},
- "ioctl": {},
- "isalnum": {},
- "isalpha": {},
- "isatty": {},
- "isdigit": {},
- "isnan": {},
- "isnanf": {},
- "isnanl": {},
- "kill": {},
- "ldexp": {},
- "link": {},
- "listen": {},
- "localtime": {},
- "localtime_r": {},
- "log": {},
- "log10": {},
- "lrand48": {},
- "lseek": {},
- "lseek64": {},
- "lstat": {},
- "lstat64": {},
- "malloc": {},
- "mblen": {},
- "mbstowcs": {},
- "mbtowc": {},
- "memchr": {},
- "memcmp": {},
- "memcpy": {},
- "memmove": {},
- "memset": {},
- "mkdir": {},
- "mkfifo": {},
- "mknod": {},
- "mkstemp": {},
- "mkstemp64": {},
- "mkstemps": {},
- "mkstemps64": {},
- "mktime": {},
- "mmap": {},
- "modf": {},
- "munmap": {},
- "nl_langinfo": {},
- "ntohs": {},
- "obstack_free": {},
- "obstack_vprintf": {},
- "open": {},
- "open64": {},
- "opendir": {},
- "openpty": {},
- "pathconf": {},
- "pause": {},
- "pclose": {},
- "perror": {},
- "pipe": {},
- "poll": {},
- "popen": {},
- "posix_fadvise": {},
- "pow": {},
- "printf": {},
- "pselect": {},
- "putc": {},
- "putchar": {},
- "puts": {},
- "qsort": {},
- "raise": {},
- "rand": {},
- "random": {},
- "random_r": {},
- "read": {},
- "readdir": {},
- "readdir64": {},
- "readlink": {},
- "readv": {},
- "realloc": {},
- "realpath": {},
- "recv": {},
- "recvfrom": {},
- "recvmsg": {},
- "remove": {},
- "rename": {},
- "rewind": {},
- "rmdir": {},
- "round": {},
- "scalbn": {},
- "scalbnl": {},
- "sched_yield": {},
- "select": {},
- "send": {},
- "sendmsg": {},
- "sendto": {},
- "setbuf": {},
- "setenv": {},
- "setlocale": {},
- "setrlimit": {},
- "setrlimit64": {},
- "setsid": {},
- "setsockopt": {},
- "setvbuf": {},
- "shmat": {},
- "shmctl": {},
- "shmdt": {},
- "shutdown": {},
- "sigaction": {},
- "signal": {},
- "sin": {},
- "sinf": {},
- "sinh": {},
- "sleep": {},
- "snprintf": {},
- "socket": {},
- "sprintf": {},
- "sqrt": {},
- "srand48": {},
- "sscanf": {},
- "stat": {},
- "stat64": {},
- "stderr": {},
- "stdin": {},
- "stdout": {},
- "strcasecmp": {},
- "strcat": {},
- "strchr": {},
- "strcmp": {},
- "strcpy": {},
- "strcspn": {},
- "strdup": {},
- "strerror": {},
- "strlen": {},
- "strncmp": {},
- "strncpy": {},
- "strnlen": {},
- "strpbrk": {},
- "strrchr": {},
- "strspn": {},
- "strstr": {},
- "strtod": {},
- "strtof": {},
- "strtoimax": {},
- "strtol": {},
- "strtold": {},
- "strtoll": {},
- "strtoul": {},
- "strtoull": {},
- "strtoumax": {},
- "symlink": {},
- "sysconf": {},
- "system": {},
- "tan": {},
- "tanh": {},
- "tcgetattr": {},
- "tcsendbreak": {},
- "tcsetattr": {},
- "time": {},
- "tolower": {},
- "toupper": {},
- "trunc": {},
- "tzset": {},
- "umask": {},
- "uname": {},
- "ungetc": {},
- "unlink": {},
- "unsetenv": {},
- "usleep": {},
- "utime": {},
- "utimes": {},
- "vasprintf": {},
- "vfprintf": {},
- "vprintf": {},
- "vsnprintf": {},
- "vsprintf": {},
- "waitpid": {},
- "wcschr": {},
- "wctomb": {},
- "wcwidth": {},
- "write": {},
- "writev": {},
- "zero_struct_address": {},
+ "_CurrentRuneLocale": {},
+ "_DefaultRuneLocale": {},
+ "_IO_putc": {},
+ "_ThreadRuneLocale": {},
+ "___errno_location": {},
+ "___runetype": {},
+ "__assert": {},
+ "__assert_fail": {},
+ "__builtin___memcpy_chk": {},
+ "__builtin___memmove_chk": {},
+ "__builtin___memset_chk": {},
+ "__builtin___snprintf_chk": {},
+ "__builtin___sprintf_chk": {},
+ "__builtin___strcat_chk": {},
+ "__builtin___strcpy_chk": {},
+ "__builtin___strncpy_chk": {},
+ "__builtin___vsnprintf_chk": {},
+ "__builtin_abort": {},
+ "__builtin_abs": {},
+ "__builtin_add_overflowInt64": {},
+ "__builtin_add_overflowUint32": {},
+ "__builtin_add_overflowUint64": {},
+ "__builtin_bswap16": {},
+ "__builtin_bswap32": {},
+ "__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
+ "__builtin_clzll": {},
+ "__builtin_constant_p_impl": {},
+ "__builtin_copysign": {},
+ "__builtin_copysignf": {},
+ "__builtin_copysignl": {},
+ "__builtin_exit": {},
+ "__builtin_expect": {},
+ "__builtin_fabs": {},
+ "__builtin_free": {},
+ "__builtin_getentropy": {},
+ "__builtin_huge_val": {},
+ "__builtin_huge_valf": {},
+ "__builtin_inf": {},
+ "__builtin_inff": {},
+ "__builtin_infl": {},
+ "__builtin_isnan": {},
+ "__builtin_malloc": {},
+ "__builtin_memcmp": {},
+ "__builtin_memcpy": {},
+ "__builtin_memset": {},
+ "__builtin_mmap": {},
+ "__builtin_mul_overflowInt64": {},
+ "__builtin_mul_overflowUint128": {},
+ "__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
+ "__builtin_nanf": {},
+ "__builtin_nanl": {},
+ "__builtin_object_size": {},
+ "__builtin_popcount": {},
+ "__builtin_popcountl": {},
+ "__builtin_prefetch": {},
+ "__builtin_printf": {},
+ "__builtin_snprintf": {},
+ "__builtin_sprintf": {},
+ "__builtin_strchr": {},
+ "__builtin_strcmp": {},
+ "__builtin_strcpy": {},
+ "__builtin_strlen": {},
+ "__builtin_sub_overflowInt64": {},
+ "__builtin_trap": {},
+ "__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
+ "__ccgo_getMutexType": {},
+ "__ccgo_in6addr_anyp": {},
+ "__ccgo_pthreadAttrGetDetachState": {},
+ "__ccgo_pthreadMutexattrGettype": {},
+ "__ccgo_sqlite3_log": {},
+ "__cmsg_nxthdr": {},
+ "__ctype_get_mb_cur_max": {},
+ "__errno_location": {},
+ "__error": {},
+ "__floatscan": {},
+ "__h_errno_location": {},
+ "__inet_aton": {},
+ "__inet_ntoa": {},
+ "__intscan": {},
+ "__isalnum_l": {},
+ "__isalpha_l": {},
+ "__isdigit_l": {},
+ "__isnan": {},
+ "__isnanf": {},
+ "__isnanl": {},
+ "__isoc99_sscanf": {},
+ "__isthreaded": {},
+ "__lookup_ipliteral": {},
+ "__lookup_name": {},
+ "__lookup_serv": {},
+ "__mb_sb_limit": {},
+ "__runes_for_locale": {},
+ "__shgetc": {},
+ "__shlim": {},
+ "__stderrp": {},
+ "__stdinp": {},
+ "__stdoutp": {},
+ "__swbuf": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
+ "__syscall1": {},
+ "__syscall3": {},
+ "__syscall4": {},
+ "__toread": {},
+ "__toread_needs_stdio_exit": {},
+ "__uflow": {},
+ "__xuname": {},
+ "_exit": {},
+ "_longjmp": {},
+ "_obstack_begin": {},
+ "_obstack_newchunk": {},
+ "_setjmp": {},
+ "abort": {},
+ "abs": {},
+ "accept": {},
+ "access": {},
+ "acos": {},
+ "acosh": {},
+ "alarm": {},
+ "asin": {},
+ "asinh": {},
+ "atan": {},
+ "atan2": {},
+ "atanh": {},
+ "atexit": {},
+ "atof": {},
+ "atoi": {},
+ "atol": {},
+ "backtrace": {},
+ "backtrace_symbols_fd": {},
+ "bind": {},
+ "calloc": {},
+ "ceil": {},
+ "ceilf": {},
+ "cfgetospeed": {},
+ "cfsetispeed": {},
+ "cfsetospeed": {},
+ "chdir": {},
+ "chflags": {},
+ "chmod": {},
+ "chown": {},
+ "clock_gettime": {},
+ "close": {},
+ "closedir": {},
+ "confstr": {},
+ "connect": {},
+ "copysign": {},
+ "copysignf": {},
+ "copysignl": {},
+ "cos": {},
+ "cosf": {},
+ "cosh": {},
+ "ctime": {},
+ "ctime_r": {},
+ "dlclose": {},
+ "dlerror": {},
+ "dlopen": {},
+ "dlsym": {},
+ "dup2": {},
+ "endpwent": {},
+ "environ": {},
+ "execvp": {},
+ "exit": {},
+ "exp": {},
+ "fabs": {},
+ "fabsf": {},
+ "fabsl": {},
+ "fchmod": {},
+ "fchown": {},
+ "fclose": {},
+ "fcntl": {},
+ "fcntl64": {},
+ "fdopen": {},
+ "ferror": {},
+ "fflush": {},
+ "fgetc": {},
+ "fgets": {},
+ "fileno": {},
+ "floor": {},
+ "fmod": {},
+ "fmodl": {},
+ "fopen": {},
+ "fopen64": {},
+ "fork": {},
+ "fprintf": {},
+ "fputc": {},
+ "fputs": {},
+ "fread": {},
+ "free": {},
+ "freeaddrinfo": {},
+ "frexp": {},
+ "fscanf": {},
+ "fseek": {},
+ "fstat": {},
+ "fstat64": {},
+ "fsync": {},
+ "ftell": {},
+ "ftruncate": {},
+ "fts64_close": {},
+ "fts64_open": {},
+ "fts64_read": {},
+ "fts_close": {},
+ "fts_open": {},
+ "fts_read": {},
+ "fwrite": {},
+ "gai_strerror": {},
+ "getaddrinfo": {},
+ "getc": {},
+ "getcwd": {},
+ "getegid": {},
+ "getentropy": {},
+ "getenv": {},
+ "geteuid": {},
+ "getgid": {},
+ "getgrgid": {},
+ "getgrgid_r": {},
+ "getgrnam": {},
+ "getgrnam_r": {},
+ "gethostbyaddr": {},
+ "gethostbyaddr_r": {},
+ "gethostbyname": {},
+ "gethostbyname2": {},
+ "gethostbyname2_r": {},
+ "gethostname": {},
+ "getnameinfo": {},
+ "getpeername": {},
+ "getpid": {},
+ "getpwnam": {},
+ "getpwnam_r": {},
+ "getpwuid": {},
+ "getpwuid_r": {},
+ "getresgid": {},
+ "getresuid": {},
+ "getrlimit": {},
+ "getrlimit64": {},
+ "getrusage": {},
+ "getservbyname": {},
+ "getsockname": {},
+ "getsockopt": {},
+ "gettimeofday": {},
+ "getuid": {},
+ "gmtime_r": {},
+ "h_errno": {},
+ "htonl": {},
+ "htons": {},
+ "hypot": {},
+ "inet_ntoa": {},
+ "inet_ntop": {},
+ "inet_pton": {},
+ "ioctl": {},
+ "isalnum": {},
+ "isalpha": {},
+ "isatty": {},
+ "isdigit": {},
+ "isnan": {},
+ "isnanf": {},
+ "isnanl": {},
+ "kill": {},
+ "ldexp": {},
+ "link": {},
+ "listen": {},
+ "localtime": {},
+ "localtime_r": {},
+ "log": {},
+ "log10": {},
+ "longjmp": {},
+ "lrand48": {},
+ "lseek": {},
+ "lseek64": {},
+ "lstat": {},
+ "lstat64": {},
+ "malloc": {},
+ "mblen": {},
+ "mbstowcs": {},
+ "mbtowc": {},
+ "memchr": {},
+ "memcmp": {},
+ "memcpy": {},
+ "memmove": {},
+ "memset": {},
+ "mkdir": {},
+ "mkfifo": {},
+ "mknod": {},
+ "mkstemp": {},
+ "mkstemp64": {},
+ "mkstemps": {},
+ "mkstemps64": {},
+ "mktime": {},
+ "mmap": {},
+ "modf": {},
+ "munmap": {},
+ "nl_langinfo": {},
+ "ntohs": {},
+ "obstack_free": {},
+ "obstack_vprintf": {},
+ "open": {},
+ "open64": {},
+ "opendir": {},
+ "openpty": {},
+ "pathconf": {},
+ "pause": {},
+ "pclose": {},
+ "perror": {},
+ "pipe": {},
+ "poll": {},
+ "popen": {},
+ "pow": {},
+ "printf": {},
+ "pselect": {},
+ "pthread_attr_destroy": {},
+ "pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
+ "pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
+ "putc": {},
+ "putchar": {},
+ "puts": {},
+ "qsort": {},
+ "raise": {},
+ "rand": {},
+ "random": {},
+ "read": {},
+ "readdir": {},
+ "readdir64": {},
+ "readlink": {},
+ "readv": {},
+ "realloc": {},
+ "reallocarray": {},
+ "realpath": {},
+ "recv": {},
+ "recvfrom": {},
+ "recvmsg": {},
+ "remove": {},
+ "rename": {},
+ "rewind": {},
+ "rint": {},
+ "rmdir": {},
+ "round": {},
+ "scalbn": {},
+ "scalbnl": {},
+ "sched_yield": {},
+ "select": {},
+ "send": {},
+ "sendmsg": {},
+ "sendto": {},
+ "setbuf": {},
+ "setenv": {},
+ "setjmp": {},
+ "setlocale": {},
+ "setrlimit": {},
+ "setrlimit64": {},
+ "setsid": {},
+ "setsockopt": {},
+ "setvbuf": {},
+ "shmat": {},
+ "shmctl": {},
+ "shmdt": {},
+ "shutdown": {},
+ "sigaction": {},
+ "signal": {},
+ "sin": {},
+ "sinf": {},
+ "sinh": {},
+ "sleep": {},
+ "snprintf": {},
+ "socket": {},
+ "sprintf": {},
+ "sqrt": {},
+ "srand48": {},
+ "sscanf": {},
+ "stat": {},
+ "stat64": {},
+ "stderr": {},
+ "stdin": {},
+ "stdout": {},
+ "strcasecmp": {},
+ "strcat": {},
+ "strchr": {},
+ "strcmp": {},
+ "strcpy": {},
+ "strcspn": {},
+ "strdup": {},
+ "strerror": {},
+ "strlen": {},
+ "strncmp": {},
+ "strncpy": {},
+ "strnlen": {},
+ "strpbrk": {},
+ "strrchr": {},
+ "strspn": {},
+ "strstr": {},
+ "strtod": {},
+ "strtof": {},
+ "strtoimax": {},
+ "strtol": {},
+ "strtold": {},
+ "strtoll": {},
+ "strtoul": {},
+ "strtoull": {},
+ "strtoumax": {},
+ "symlink": {},
+ "sysconf": {},
+ "system": {},
+ "tan": {},
+ "tanh": {},
+ "tcgetattr": {},
+ "tcsendbreak": {},
+ "tcsetattr": {},
+ "time": {},
+ "tmpfile": {},
+ "tolower": {},
+ "toupper": {},
+ "trunc": {},
+ "tzset": {},
+ "umask": {},
+ "uname": {},
+ "ungetc": {},
+ "unlink": {},
+ "unsetenv": {},
+ "usleep": {},
+ "utime": {},
+ "utimes": {},
+ "vasprintf": {},
+ "vfprintf": {},
+ "vprintf": {},
+ "vsnprintf": {},
+ "vsprintf": {},
+ "waitpid": {},
+ "wcschr": {},
+ "wctomb": {},
+ "wcwidth": {},
+ "write": {},
+ "writev": {},
+ "zero_struct_address": {},
}
diff --git a/vendor/modernc.org/libc/capi_linux_386.go b/vendor/modernc.org/libc/capi_linux_386.go
index 555153e77..a9ccefc18 100644
--- a/vendor/modernc.org/libc/capi_linux_386.go
+++ b/vendor/modernc.org/libc/capi_linux_386.go
@@ -23,18 +23,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -44,9 +49,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -58,6 +66,7 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
@@ -93,6 +102,9 @@ var CAPI = map[string]struct{}{
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
@@ -101,8 +113,10 @@ var CAPI = map[string]struct{}{
"__uflow": {},
"__unlockfile": {},
"_exit": {},
+ "_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
+ "_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
@@ -185,6 +199,7 @@ var CAPI = map[string]struct{}{
"fseek": {},
"fstat": {},
"fstat64": {},
+ "fstatfs": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
@@ -201,6 +216,7 @@ var CAPI = map[string]struct{}{
"getc": {},
"getcwd": {},
"getegid": {},
+ "getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
@@ -222,6 +238,7 @@ var CAPI = map[string]struct{}{
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
+ "getrandom": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
@@ -257,10 +274,12 @@ var CAPI = map[string]struct{}{
"ldexp": {},
"link": {},
"listen": {},
+ "localeconv": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
@@ -280,6 +299,7 @@ var CAPI = map[string]struct{}{
"mkdir": {},
"mkfifo": {},
"mknod": {},
+ "mkostemp": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
@@ -310,14 +330,40 @@ var CAPI = map[string]struct{}{
"pow": {},
"printf": {},
"pselect": {},
+ "pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},
+ "pwrite": {},
"qsort": {},
"raise": {},
"rand": {},
@@ -330,6 +376,7 @@ var CAPI = map[string]struct{}{
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
@@ -337,6 +384,7 @@ var CAPI = map[string]struct{}{
"remove": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
@@ -348,6 +396,7 @@ var CAPI = map[string]struct{}{
"sendto": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
@@ -383,6 +432,7 @@ var CAPI = map[string]struct{}{
"strcspn": {},
"strdup": {},
"strerror": {},
+ "strerror_r": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
@@ -414,6 +464,7 @@ var CAPI = map[string]struct{}{
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
+ "tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
@@ -426,6 +477,10 @@ var CAPI = map[string]struct{}{
"usleep": {},
"utime": {},
"utimes": {},
+ "uuid_copy": {},
+ "uuid_generate_random": {},
+ "uuid_parse": {},
+ "uuid_unparse": {},
"vasprintf": {},
"vfprintf": {},
"vfscanf": {},
diff --git a/vendor/modernc.org/libc/capi_linux_amd64.go b/vendor/modernc.org/libc/capi_linux_amd64.go
index b5cf56438..182f793f8 100644
--- a/vendor/modernc.org/libc/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/capi_linux_amd64.go
@@ -23,18 +23,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -44,9 +49,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -58,6 +66,7 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
@@ -93,6 +102,8 @@ var CAPI = map[string]struct{}{
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
"__sync_synchronize": {},
"__syscall1": {},
"__syscall3": {},
@@ -102,8 +113,10 @@ var CAPI = map[string]struct{}{
"__uflow": {},
"__unlockfile": {},
"_exit": {},
+ "_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
+ "_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
@@ -186,6 +199,7 @@ var CAPI = map[string]struct{}{
"fseek": {},
"fstat": {},
"fstat64": {},
+ "fstatfs": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
@@ -202,6 +216,7 @@ var CAPI = map[string]struct{}{
"getc": {},
"getcwd": {},
"getegid": {},
+ "getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
@@ -223,6 +238,7 @@ var CAPI = map[string]struct{}{
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
+ "getrandom": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
@@ -253,15 +269,19 @@ var CAPI = map[string]struct{}{
"isnanl": {},
"isprint": {},
"isupper": {},
+ "iswalnum": {},
+ "iswspace": {},
"isxdigit": {},
"kill": {},
"ldexp": {},
"link": {},
"listen": {},
+ "localeconv": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
@@ -281,6 +301,7 @@ var CAPI = map[string]struct{}{
"mkdir": {},
"mkfifo": {},
"mknod": {},
+ "mkostemp": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
@@ -344,6 +365,7 @@ var CAPI = map[string]struct{}{
"putc": {},
"putchar": {},
"puts": {},
+ "pwrite": {},
"qsort": {},
"raise": {},
"rand": {},
@@ -356,6 +378,7 @@ var CAPI = map[string]struct{}{
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
@@ -363,6 +386,7 @@ var CAPI = map[string]struct{}{
"remove": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
@@ -374,6 +398,7 @@ var CAPI = map[string]struct{}{
"sendto": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
@@ -409,6 +434,7 @@ var CAPI = map[string]struct{}{
"strcspn": {},
"strdup": {},
"strerror": {},
+ "strerror_r": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
@@ -440,6 +466,7 @@ var CAPI = map[string]struct{}{
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
+ "tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
@@ -452,6 +479,7 @@ var CAPI = map[string]struct{}{
"usleep": {},
"utime": {},
"utimes": {},
+ "uuid_copy": {},
"uuid_generate_random": {},
"uuid_parse": {},
"uuid_unparse": {},
diff --git a/vendor/modernc.org/libc/capi_linux_arm.go b/vendor/modernc.org/libc/capi_linux_arm.go
index 555153e77..a9ccefc18 100644
--- a/vendor/modernc.org/libc/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/capi_linux_arm.go
@@ -23,18 +23,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -44,9 +49,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -58,6 +66,7 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
@@ -93,6 +102,9 @@ var CAPI = map[string]struct{}{
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
@@ -101,8 +113,10 @@ var CAPI = map[string]struct{}{
"__uflow": {},
"__unlockfile": {},
"_exit": {},
+ "_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
+ "_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
@@ -185,6 +199,7 @@ var CAPI = map[string]struct{}{
"fseek": {},
"fstat": {},
"fstat64": {},
+ "fstatfs": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
@@ -201,6 +216,7 @@ var CAPI = map[string]struct{}{
"getc": {},
"getcwd": {},
"getegid": {},
+ "getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
@@ -222,6 +238,7 @@ var CAPI = map[string]struct{}{
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
+ "getrandom": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
@@ -257,10 +274,12 @@ var CAPI = map[string]struct{}{
"ldexp": {},
"link": {},
"listen": {},
+ "localeconv": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
@@ -280,6 +299,7 @@ var CAPI = map[string]struct{}{
"mkdir": {},
"mkfifo": {},
"mknod": {},
+ "mkostemp": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
@@ -310,14 +330,40 @@ var CAPI = map[string]struct{}{
"pow": {},
"printf": {},
"pselect": {},
+ "pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},
+ "pwrite": {},
"qsort": {},
"raise": {},
"rand": {},
@@ -330,6 +376,7 @@ var CAPI = map[string]struct{}{
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
@@ -337,6 +384,7 @@ var CAPI = map[string]struct{}{
"remove": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
@@ -348,6 +396,7 @@ var CAPI = map[string]struct{}{
"sendto": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
@@ -383,6 +432,7 @@ var CAPI = map[string]struct{}{
"strcspn": {},
"strdup": {},
"strerror": {},
+ "strerror_r": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
@@ -414,6 +464,7 @@ var CAPI = map[string]struct{}{
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
+ "tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
@@ -426,6 +477,10 @@ var CAPI = map[string]struct{}{
"usleep": {},
"utime": {},
"utimes": {},
+ "uuid_copy": {},
+ "uuid_generate_random": {},
+ "uuid_parse": {},
+ "uuid_unparse": {},
"vasprintf": {},
"vfprintf": {},
"vfscanf": {},
diff --git a/vendor/modernc.org/libc/capi_linux_arm64.go b/vendor/modernc.org/libc/capi_linux_arm64.go
index 555153e77..a9ccefc18 100644
--- a/vendor/modernc.org/libc/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/capi_linux_arm64.go
@@ -23,18 +23,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -44,9 +49,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -58,6 +66,7 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
@@ -93,6 +102,9 @@ var CAPI = map[string]struct{}{
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
@@ -101,8 +113,10 @@ var CAPI = map[string]struct{}{
"__uflow": {},
"__unlockfile": {},
"_exit": {},
+ "_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
+ "_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
@@ -185,6 +199,7 @@ var CAPI = map[string]struct{}{
"fseek": {},
"fstat": {},
"fstat64": {},
+ "fstatfs": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
@@ -201,6 +216,7 @@ var CAPI = map[string]struct{}{
"getc": {},
"getcwd": {},
"getegid": {},
+ "getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
@@ -222,6 +238,7 @@ var CAPI = map[string]struct{}{
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
+ "getrandom": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
@@ -257,10 +274,12 @@ var CAPI = map[string]struct{}{
"ldexp": {},
"link": {},
"listen": {},
+ "localeconv": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
@@ -280,6 +299,7 @@ var CAPI = map[string]struct{}{
"mkdir": {},
"mkfifo": {},
"mknod": {},
+ "mkostemp": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
@@ -310,14 +330,40 @@ var CAPI = map[string]struct{}{
"pow": {},
"printf": {},
"pselect": {},
+ "pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},
+ "pwrite": {},
"qsort": {},
"raise": {},
"rand": {},
@@ -330,6 +376,7 @@ var CAPI = map[string]struct{}{
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
@@ -337,6 +384,7 @@ var CAPI = map[string]struct{}{
"remove": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
@@ -348,6 +396,7 @@ var CAPI = map[string]struct{}{
"sendto": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
@@ -383,6 +432,7 @@ var CAPI = map[string]struct{}{
"strcspn": {},
"strdup": {},
"strerror": {},
+ "strerror_r": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
@@ -414,6 +464,7 @@ var CAPI = map[string]struct{}{
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
+ "tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
@@ -426,6 +477,10 @@ var CAPI = map[string]struct{}{
"usleep": {},
"utime": {},
"utimes": {},
+ "uuid_copy": {},
+ "uuid_generate_random": {},
+ "uuid_parse": {},
+ "uuid_unparse": {},
"vasprintf": {},
"vfprintf": {},
"vfscanf": {},
diff --git a/vendor/modernc.org/libc/capi_linux_s390x.go b/vendor/modernc.org/libc/capi_linux_s390x.go
index 002fc20a5..a9ccefc18 100644
--- a/vendor/modernc.org/libc/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/capi_linux_s390x.go
@@ -23,18 +23,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -44,9 +49,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -58,6 +66,7 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
@@ -93,6 +102,9 @@ var CAPI = map[string]struct{}{
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
@@ -101,8 +113,10 @@ var CAPI = map[string]struct{}{
"__uflow": {},
"__unlockfile": {},
"_exit": {},
+ "_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
+ "_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
@@ -185,6 +199,7 @@ var CAPI = map[string]struct{}{
"fseek": {},
"fstat": {},
"fstat64": {},
+ "fstatfs": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
@@ -201,6 +216,7 @@ var CAPI = map[string]struct{}{
"getc": {},
"getcwd": {},
"getegid": {},
+ "getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
@@ -222,6 +238,7 @@ var CAPI = map[string]struct{}{
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
+ "getrandom": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
@@ -257,10 +274,12 @@ var CAPI = map[string]struct{}{
"ldexp": {},
"link": {},
"listen": {},
+ "localeconv": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
@@ -280,6 +299,7 @@ var CAPI = map[string]struct{}{
"mkdir": {},
"mkfifo": {},
"mknod": {},
+ "mkostemp": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
@@ -310,14 +330,40 @@ var CAPI = map[string]struct{}{
"pow": {},
"printf": {},
"pselect": {},
+ "pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},
+ "pwrite": {},
"qsort": {},
"raise": {},
"rand": {},
@@ -330,6 +376,7 @@ var CAPI = map[string]struct{}{
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
@@ -337,6 +384,7 @@ var CAPI = map[string]struct{}{
"remove": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
@@ -348,6 +396,7 @@ var CAPI = map[string]struct{}{
"sendto": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
@@ -383,6 +432,7 @@ var CAPI = map[string]struct{}{
"strcspn": {},
"strdup": {},
"strerror": {},
+ "strerror_r": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
@@ -414,6 +464,7 @@ var CAPI = map[string]struct{}{
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
+ "tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
@@ -426,6 +477,7 @@ var CAPI = map[string]struct{}{
"usleep": {},
"utime": {},
"utimes": {},
+ "uuid_copy": {},
"uuid_generate_random": {},
"uuid_parse": {},
"uuid_unparse": {},
diff --git a/vendor/modernc.org/libc/capi_netbsd_amd64.go b/vendor/modernc.org/libc/capi_netbsd_amd64.go
new file mode 100644
index 000000000..6fcb32cdf
--- /dev/null
+++ b/vendor/modernc.org/libc/capi_netbsd_amd64.go
@@ -0,0 +1,475 @@
+// Code generated by 'go generate' - DO NOT EDIT.
+
+package libc // import "modernc.org/libc"
+
+var CAPI = map[string]struct{}{
+ "_C_ctype_tab_": {},
+ "_IO_putc": {},
+ "_ThreadRuneLocale": {},
+ "___errno_location": {},
+ "___runetype": {},
+ "__assert": {},
+ "__assert13": {},
+ "__assert_fail": {},
+ "__builtin___memcpy_chk": {},
+ "__builtin___memmove_chk": {},
+ "__builtin___memset_chk": {},
+ "__builtin___snprintf_chk": {},
+ "__builtin___sprintf_chk": {},
+ "__builtin___strcat_chk": {},
+ "__builtin___strcpy_chk": {},
+ "__builtin___strncpy_chk": {},
+ "__builtin___vsnprintf_chk": {},
+ "__builtin_abort": {},
+ "__builtin_abs": {},
+ "__builtin_add_overflowInt64": {},
+ "__builtin_add_overflowUint32": {},
+ "__builtin_add_overflowUint64": {},
+ "__builtin_bswap16": {},
+ "__builtin_bswap32": {},
+ "__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
+ "__builtin_clzll": {},
+ "__builtin_constant_p_impl": {},
+ "__builtin_copysign": {},
+ "__builtin_copysignf": {},
+ "__builtin_copysignl": {},
+ "__builtin_exit": {},
+ "__builtin_expect": {},
+ "__builtin_fabs": {},
+ "__builtin_free": {},
+ "__builtin_getentropy": {},
+ "__builtin_huge_val": {},
+ "__builtin_huge_valf": {},
+ "__builtin_inf": {},
+ "__builtin_inff": {},
+ "__builtin_infl": {},
+ "__builtin_isnan": {},
+ "__builtin_malloc": {},
+ "__builtin_memcmp": {},
+ "__builtin_memcpy": {},
+ "__builtin_memset": {},
+ "__builtin_mmap": {},
+ "__builtin_mul_overflowInt64": {},
+ "__builtin_mul_overflowUint128": {},
+ "__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
+ "__builtin_nanf": {},
+ "__builtin_nanl": {},
+ "__builtin_object_size": {},
+ "__builtin_popcount": {},
+ "__builtin_popcountl": {},
+ "__builtin_prefetch": {},
+ "__builtin_printf": {},
+ "__builtin_snprintf": {},
+ "__builtin_sprintf": {},
+ "__builtin_strchr": {},
+ "__builtin_strcmp": {},
+ "__builtin_strcpy": {},
+ "__builtin_strlen": {},
+ "__builtin_sub_overflowInt64": {},
+ "__builtin_trap": {},
+ "__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
+ "__ccgo_getMutexType": {},
+ "__ccgo_in6addr_anyp": {},
+ "__ccgo_pthreadAttrGetDetachState": {},
+ "__ccgo_pthreadMutexattrGettype": {},
+ "__ccgo_sqlite3_log": {},
+ "__cmsg_nxthdr": {},
+ "__ctype_get_mb_cur_max": {},
+ "__errno": {},
+ "__errno_location": {},
+ "__error": {},
+ "__floatscan": {},
+ "__h_errno_location": {},
+ "__inet_aton": {},
+ "__inet_ntoa": {},
+ "__intscan": {},
+ "__isalnum_l": {},
+ "__isalpha_l": {},
+ "__isdigit_l": {},
+ "__isnan": {},
+ "__isnanf": {},
+ "__isnanl": {},
+ "__isoc99_sscanf": {},
+ "__isthreaded": {},
+ "__lookup_ipliteral": {},
+ "__lookup_name": {},
+ "__lookup_serv": {},
+ "__mb_sb_limit": {},
+ "__runes_for_locale": {},
+ "__sF": {},
+ "__shgetc": {},
+ "__shlim": {},
+ "__stderrp": {},
+ "__stdinp": {},
+ "__stdoutp": {},
+ "__swbuf": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
+ "__syscall1": {},
+ "__syscall3": {},
+ "__syscall4": {},
+ "__toread": {},
+ "__toread_needs_stdio_exit": {},
+ "__uflow": {},
+ "__xuname": {},
+ "_ctype_tab_": {},
+ "_exit": {},
+ "_longjmp": {},
+ "_obstack_begin": {},
+ "_obstack_newchunk": {},
+ "_setjmp": {},
+ "_tolower_tab_": {},
+ "_toupper_tab_": {},
+ "abort": {},
+ "abs": {},
+ "accept": {},
+ "access": {},
+ "acos": {},
+ "acosh": {},
+ "alarm": {},
+ "asin": {},
+ "asinh": {},
+ "atan": {},
+ "atan2": {},
+ "atanh": {},
+ "atexit": {},
+ "atof": {},
+ "atoi": {},
+ "atol": {},
+ "backtrace": {},
+ "backtrace_symbols_fd": {},
+ "bind": {},
+ "calloc": {},
+ "ceil": {},
+ "ceilf": {},
+ "cfgetospeed": {},
+ "cfsetispeed": {},
+ "cfsetospeed": {},
+ "chdir": {},
+ "chflags": {},
+ "chmod": {},
+ "chown": {},
+ "clock_gettime": {},
+ "close": {},
+ "closedir": {},
+ "confstr": {},
+ "connect": {},
+ "copysign": {},
+ "copysignf": {},
+ "copysignl": {},
+ "cos": {},
+ "cosf": {},
+ "cosh": {},
+ "ctime": {},
+ "ctime_r": {},
+ "dlclose": {},
+ "dlerror": {},
+ "dlopen": {},
+ "dlsym": {},
+ "dup2": {},
+ "endpwent": {},
+ "environ": {},
+ "execvp": {},
+ "exit": {},
+ "exp": {},
+ "fabs": {},
+ "fabsf": {},
+ "fabsl": {},
+ "fchmod": {},
+ "fchown": {},
+ "fclose": {},
+ "fcntl": {},
+ "fcntl64": {},
+ "fdopen": {},
+ "ferror": {},
+ "fflush": {},
+ "fgetc": {},
+ "fgets": {},
+ "fileno": {},
+ "floor": {},
+ "fmod": {},
+ "fmodl": {},
+ "fopen": {},
+ "fopen64": {},
+ "fork": {},
+ "fprintf": {},
+ "fputc": {},
+ "fputs": {},
+ "fread": {},
+ "free": {},
+ "freeaddrinfo": {},
+ "frexp": {},
+ "fscanf": {},
+ "fseek": {},
+ "fstat": {},
+ "fstat64": {},
+ "fsync": {},
+ "ftell": {},
+ "ftruncate": {},
+ "fts64_close": {},
+ "fts64_open": {},
+ "fts64_read": {},
+ "fts_close": {},
+ "fts_open": {},
+ "fts_read": {},
+ "fwrite": {},
+ "gai_strerror": {},
+ "getaddrinfo": {},
+ "getc": {},
+ "getcwd": {},
+ "getegid": {},
+ "getentropy": {},
+ "getenv": {},
+ "geteuid": {},
+ "getgid": {},
+ "getgrgid": {},
+ "getgrgid_r": {},
+ "getgrnam": {},
+ "getgrnam_r": {},
+ "gethostbyaddr": {},
+ "gethostbyaddr_r": {},
+ "gethostbyname": {},
+ "gethostbyname2": {},
+ "gethostbyname2_r": {},
+ "gethostname": {},
+ "getnameinfo": {},
+ "getpeername": {},
+ "getpid": {},
+ "getpwnam": {},
+ "getpwnam_r": {},
+ "getpwuid": {},
+ "getpwuid_r": {},
+ "getresgid": {},
+ "getresuid": {},
+ "getrlimit": {},
+ "getrlimit64": {},
+ "getrusage": {},
+ "getservbyname": {},
+ "getsockname": {},
+ "getsockopt": {},
+ "gettimeofday": {},
+ "getuid": {},
+ "gmtime_r": {},
+ "h_errno": {},
+ "htonl": {},
+ "htons": {},
+ "hypot": {},
+ "inet_ntoa": {},
+ "inet_ntop": {},
+ "inet_pton": {},
+ "ioctl": {},
+ "isalnum": {},
+ "isalpha": {},
+ "isatty": {},
+ "isdigit": {},
+ "isnan": {},
+ "isnanf": {},
+ "isnanl": {},
+ "kill": {},
+ "ldexp": {},
+ "link": {},
+ "listen": {},
+ "localtime": {},
+ "localtime_r": {},
+ "log": {},
+ "log10": {},
+ "longjmp": {},
+ "lrand48": {},
+ "lseek": {},
+ "lseek64": {},
+ "lstat": {},
+ "lstat64": {},
+ "malloc": {},
+ "mblen": {},
+ "mbstowcs": {},
+ "mbtowc": {},
+ "memchr": {},
+ "memcmp": {},
+ "memcpy": {},
+ "memmove": {},
+ "memset": {},
+ "mkdir": {},
+ "mkfifo": {},
+ "mknod": {},
+ "mkstemp": {},
+ "mkstemp64": {},
+ "mkstemps": {},
+ "mkstemps64": {},
+ "mktime": {},
+ "mmap": {},
+ "modf": {},
+ "munmap": {},
+ "nl_langinfo": {},
+ "ntohs": {},
+ "obstack_free": {},
+ "obstack_vprintf": {},
+ "open": {},
+ "open64": {},
+ "opendir": {},
+ "openpty": {},
+ "pathconf": {},
+ "pause": {},
+ "pclose": {},
+ "perror": {},
+ "pipe": {},
+ "poll": {},
+ "popen": {},
+ "pow": {},
+ "printf": {},
+ "pselect": {},
+ "pthread_attr_destroy": {},
+ "pthread_attr_getdetachstate": {},
+ "pthread_attr_init": {},
+ "pthread_attr_setdetachstate": {},
+ "pthread_attr_setscope": {},
+ "pthread_attr_setstacksize": {},
+ "pthread_cond_broadcast": {},
+ "pthread_cond_destroy": {},
+ "pthread_cond_init": {},
+ "pthread_cond_signal": {},
+ "pthread_cond_timedwait": {},
+ "pthread_cond_wait": {},
+ "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_mutexattr_settype": {},
+ "pthread_self": {},
+ "pthread_setspecific": {},
+ "putc": {},
+ "putchar": {},
+ "puts": {},
+ "qsort": {},
+ "raise": {},
+ "rand": {},
+ "random": {},
+ "read": {},
+ "readdir": {},
+ "readdir64": {},
+ "readlink": {},
+ "readv": {},
+ "realloc": {},
+ "reallocarray": {},
+ "realpath": {},
+ "recv": {},
+ "recvfrom": {},
+ "recvmsg": {},
+ "remove": {},
+ "rename": {},
+ "rewind": {},
+ "rint": {},
+ "rmdir": {},
+ "round": {},
+ "scalbn": {},
+ "scalbnl": {},
+ "sched_yield": {},
+ "select": {},
+ "send": {},
+ "sendmsg": {},
+ "sendto": {},
+ "setbuf": {},
+ "setenv": {},
+ "setjmp": {},
+ "setlocale": {},
+ "setrlimit": {},
+ "setrlimit64": {},
+ "setsid": {},
+ "setsockopt": {},
+ "setvbuf": {},
+ "shmat": {},
+ "shmctl": {},
+ "shmdt": {},
+ "shutdown": {},
+ "sigaction": {},
+ "signal": {},
+ "sin": {},
+ "sinf": {},
+ "sinh": {},
+ "sleep": {},
+ "snprintf": {},
+ "socket": {},
+ "sprintf": {},
+ "sqrt": {},
+ "srand48": {},
+ "sscanf": {},
+ "stat": {},
+ "stat64": {},
+ "stderr": {},
+ "stdin": {},
+ "stdout": {},
+ "strcasecmp": {},
+ "strcat": {},
+ "strchr": {},
+ "strcmp": {},
+ "strcpy": {},
+ "strcspn": {},
+ "strdup": {},
+ "strerror": {},
+ "strlen": {},
+ "strncmp": {},
+ "strncpy": {},
+ "strnlen": {},
+ "strpbrk": {},
+ "strrchr": {},
+ "strspn": {},
+ "strstr": {},
+ "strtod": {},
+ "strtof": {},
+ "strtoimax": {},
+ "strtol": {},
+ "strtold": {},
+ "strtoll": {},
+ "strtoul": {},
+ "strtoull": {},
+ "strtoumax": {},
+ "symlink": {},
+ "sysconf": {},
+ "system": {},
+ "tan": {},
+ "tanh": {},
+ "tcgetattr": {},
+ "tcsendbreak": {},
+ "tcsetattr": {},
+ "time": {},
+ "tmpfile": {},
+ "tolower": {},
+ "toupper": {},
+ "trunc": {},
+ "tzset": {},
+ "umask": {},
+ "uname": {},
+ "ungetc": {},
+ "unlink": {},
+ "unsetenv": {},
+ "usleep": {},
+ "utime": {},
+ "utimes": {},
+ "vasprintf": {},
+ "vfprintf": {},
+ "vprintf": {},
+ "vsnprintf": {},
+ "vsprintf": {},
+ "waitpid": {},
+ "wcschr": {},
+ "wctomb": {},
+ "wcwidth": {},
+ "write": {},
+ "writev": {},
+ "zero_struct_address": {},
+}
diff --git a/vendor/modernc.org/libc/capi_windows_386.go b/vendor/modernc.org/libc/capi_windows_386.go
index 7be8d0bb9..47e37e3bf 100644
--- a/vendor/modernc.org/libc/capi_windows_386.go
+++ b/vendor/modernc.org/libc/capi_windows_386.go
@@ -103,6 +103,7 @@ var CAPI = map[string]struct{}{
"GetMessageW": {},
"GetModuleFileNameA": {},
"GetModuleFileNameW": {},
+ "GetModuleHandleA": {},
"GetModuleHandleW": {},
"GetNamedSecurityInfoW": {},
"GetOverlappedResult": {},
@@ -271,18 +272,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -293,9 +299,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -308,9 +317,12 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
+ "__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
+ "__ccgo_pthreadAttrGetDetachState": {},
+ "__ccgo_pthreadMutexattrGettype": {},
"__ccgo_sqlite3_log": {},
- "__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__env_rm_add": {},
"__errno_location": {},
@@ -330,6 +342,7 @@ var CAPI = map[string]struct{}{
"__mingw_vfscanf": {},
"__mingw_vfwprintf": {},
"__mingw_vfwscanf": {},
+ "__mingw_vprintf": {},
"__mingw_vsnprintf": {},
"__mingw_vsnwprintf": {},
"__mingw_vsprintf": {},
@@ -344,6 +357,9 @@ var CAPI = map[string]struct{}{
"__ms_vwscanf": {},
"__putenv": {},
"__strchrnul": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"_access": {},
"_assert": {},
"_beginthread": {},
@@ -366,12 +382,17 @@ var CAPI = map[string]struct{}{
"_fstat64": {},
"_fstati64": {},
"_ftime": {},
+ "_ftime64": {},
"_gmtime32": {},
+ "_gmtime64": {},
"_imp___environ": {},
+ "_iob": {},
"_isatty": {},
"_localtime32": {},
"_localtime64": {},
+ "_longjmp": {},
"_mkdir": {},
+ "_mktime64": {},
"_msize": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
@@ -379,6 +400,7 @@ var CAPI = map[string]struct{}{
"_popen": {},
"_putchar": {},
"_set_abort_behavior": {},
+ "_setjmp": {},
"_setmode": {},
"_snprintf": {},
"_snwprintf": {},
@@ -477,9 +499,11 @@ var CAPI = map[string]struct{}{
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
+ "gai_strerrorA": {},
"gai_strerrorW": {},
"getc": {},
"getcwd": {},
+ "getentropy": {},
"getenv": {},
"gethostname": {},
"getpeername": {},
@@ -498,7 +522,6 @@ var CAPI = map[string]struct{}{
"htons": {},
"hypot": {},
"inet_ntoa": {},
- "initstate_r": {},
"ioctl": {},
"ioctlsocket": {},
"isalnum": {},
@@ -520,6 +543,7 @@ var CAPI = map[string]struct{}{
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lseek": {},
"lseek64": {},
"lstat": {},
@@ -558,7 +582,6 @@ var CAPI = map[string]struct{}{
"perror": {},
"pipe": {},
"popen": {},
- "posix_fadvise": {},
"pow": {},
"printf": {},
"pselect": {},
@@ -570,22 +593,25 @@ var CAPI = map[string]struct{}{
"raise": {},
"rand": {},
"random": {},
- "random_r": {},
"read": {},
"readdir": {},
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
+ "sched_yield": {},
"select": {},
"send": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setmode": {},
"setrlimit": {},
diff --git a/vendor/modernc.org/libc/capi_windows_amd64.go b/vendor/modernc.org/libc/capi_windows_amd64.go
index 12784f7da..3316389ec 100644
--- a/vendor/modernc.org/libc/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/capi_windows_amd64.go
@@ -103,6 +103,7 @@ var CAPI = map[string]struct{}{
"GetMessageW": {},
"GetModuleFileNameA": {},
"GetModuleFileNameW": {},
+ "GetModuleHandleA": {},
"GetModuleHandleW": {},
"GetNamedSecurityInfoW": {},
"GetOverlappedResult": {},
@@ -269,18 +270,23 @@ var CAPI = map[string]struct{}{
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
+ "__builtin_clz": {},
+ "__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
+ "__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
+ "__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
+ "__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
@@ -291,9 +297,12 @@ var CAPI = map[string]struct{}{
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
+ "__builtin_nan": {},
"__builtin_nanf": {},
+ "__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
+ "__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
@@ -306,9 +315,12 @@ var CAPI = map[string]struct{}{
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
+ "__ccgo_dmesg": {},
+ "__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
+ "__ccgo_pthreadAttrGetDetachState": {},
+ "__ccgo_pthreadMutexattrGettype": {},
"__ccgo_sqlite3_log": {},
- "__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__env_rm_add": {},
"__errno_location": {},
@@ -328,6 +340,7 @@ var CAPI = map[string]struct{}{
"__mingw_vfscanf": {},
"__mingw_vfwprintf": {},
"__mingw_vfwscanf": {},
+ "__mingw_vprintf": {},
"__mingw_vsnprintf": {},
"__mingw_vsnwprintf": {},
"__mingw_vsprintf": {},
@@ -342,6 +355,9 @@ var CAPI = map[string]struct{}{
"__ms_vwscanf": {},
"__putenv": {},
"__strchrnul": {},
+ "__sync_add_and_fetch_uint32": {},
+ "__sync_sub_and_fetch_uint32": {},
+ "__sync_synchronize": {},
"_access": {},
"_assert": {},
"_beginthread": {},
@@ -364,10 +380,15 @@ var CAPI = map[string]struct{}{
"_fstat64": {},
"_fstati64": {},
"_ftime": {},
+ "_ftime64": {},
+ "_gmtime64": {},
"_imp___environ": {},
+ "_iob": {},
"_isatty": {},
"_localtime64": {},
+ "_longjmp": {},
"_mkdir": {},
+ "_mktime64": {},
"_msize": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
@@ -375,6 +396,7 @@ var CAPI = map[string]struct{}{
"_popen": {},
"_putchar": {},
"_set_abort_behavior": {},
+ "_setjmp": {},
"_setmode": {},
"_snprintf": {},
"_snwprintf": {},
@@ -473,9 +495,11 @@ var CAPI = map[string]struct{}{
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
+ "gai_strerrorA": {},
"gai_strerrorW": {},
"getc": {},
"getcwd": {},
+ "getentropy": {},
"getenv": {},
"gethostname": {},
"getpeername": {},
@@ -494,7 +518,6 @@ var CAPI = map[string]struct{}{
"htons": {},
"hypot": {},
"inet_ntoa": {},
- "initstate_r": {},
"ioctl": {},
"ioctlsocket": {},
"isalnum": {},
@@ -516,6 +539,7 @@ var CAPI = map[string]struct{}{
"localtime_r": {},
"log": {},
"log10": {},
+ "longjmp": {},
"lseek": {},
"lseek64": {},
"lstat": {},
@@ -554,7 +578,6 @@ var CAPI = map[string]struct{}{
"perror": {},
"pipe": {},
"popen": {},
- "posix_fadvise": {},
"pow": {},
"printf": {},
"pselect": {},
@@ -566,22 +589,25 @@ var CAPI = map[string]struct{}{
"raise": {},
"rand": {},
"random": {},
- "random_r": {},
"read": {},
"readdir": {},
"readlink": {},
"readv": {},
"realloc": {},
+ "reallocarray": {},
"realpath": {},
"recv": {},
"rename": {},
"rewind": {},
+ "rint": {},
"rmdir": {},
"round": {},
+ "sched_yield": {},
"select": {},
"send": {},
"setbuf": {},
"setenv": {},
+ "setjmp": {},
"setlocale": {},
"setmode": {},
"setrlimit": {},
diff --git a/vendor/modernc.org/libc/ccgo.go b/vendor/modernc.org/libc/ccgo.go
index a23291bd7..537dde702 100644
--- a/vendor/modernc.org/libc/ccgo.go
+++ b/vendor/modernc.org/libc/ccgo.go
@@ -967,306 +967,306 @@ func BoolUint64(b bool) uint64 {
}
func SetBitFieldPtr8Int8(p uintptr, v int8, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Int16(p uintptr, v int16, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Int32(p uintptr, v int32, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Int64(p uintptr, v int64, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Uint8(p uintptr, v uint8, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Uint16(p uintptr, v uint16, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Uint32(p uintptr, v uint32, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr8Uint64(p uintptr, v uint64, off int, mask uint8) {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
}
func SetBitFieldPtr16Int8(p uintptr, v int8, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Int16(p uintptr, v int16, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Int32(p uintptr, v int32, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Int64(p uintptr, v int64, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Uint8(p uintptr, v uint8, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Uint16(p uintptr, v uint16, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Uint32(p uintptr, v uint32, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr16Uint64(p uintptr, v uint64, off int, mask uint16) {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
}
func SetBitFieldPtr32Int8(p uintptr, v int8, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Int16(p uintptr, v int16, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Int32(p uintptr, v int32, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Int64(p uintptr, v int64, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Uint8(p uintptr, v uint8, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Uint16(p uintptr, v uint16, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Uint32(p uintptr, v uint32, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr32Uint64(p uintptr, v uint64, off int, mask uint32) {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
}
func SetBitFieldPtr64Int8(p uintptr, v int8, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Int16(p uintptr, v int16, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Int32(p uintptr, v int32, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Int64(p uintptr, v int64, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Uint8(p uintptr, v uint8, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Uint16(p uintptr, v uint16, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Uint32(p uintptr, v uint32, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func SetBitFieldPtr64Uint64(p uintptr, v uint64, off int, mask uint64) {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
}
func AssignBitFieldPtr8Int8(p uintptr, v int8, w, off int, mask uint8) int8 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
s := 8 - w
return v << s >> s
}
func AssignBitFieldPtr8Int16(p uintptr, v int16, w, off int, mask uint8) int16 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
s := 16 - w
return v << s >> s
}
func AssignBitFieldPtr8Int32(p uintptr, v int32, w, off int, mask uint8) int32 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
s := 32 - w
return v << s >> s
}
func AssignBitFieldPtr8Int64(p uintptr, v int64, w, off int, mask uint8) int64 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
s := 64 - w
return v << s >> s
}
func AssignBitFieldPtr16Int8(p uintptr, v int8, w, off int, mask uint16) int8 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
s := 8 - w
return v << s >> s
}
func AssignBitFieldPtr16Int16(p uintptr, v int16, w, off int, mask uint16) int16 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
s := 16 - w
return v << s >> s
}
func AssignBitFieldPtr16Int32(p uintptr, v int32, w, off int, mask uint16) int32 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
s := 32 - w
return v << s >> s
}
func AssignBitFieldPtr16Int64(p uintptr, v int64, w, off int, mask uint16) int64 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
s := 64 - w
return v << s >> s
}
func AssignBitFieldPtr32Int8(p uintptr, v int8, w, off int, mask uint32) int8 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
s := 8 - w
return v << s >> s
}
func AssignBitFieldPtr32Int16(p uintptr, v int16, w, off int, mask uint32) int16 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
s := 16 - w
return v << s >> s
}
func AssignBitFieldPtr32Int32(p uintptr, v int32, w, off int, mask uint32) int32 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
s := 32 - w
return v << s >> s
}
func AssignBitFieldPtr32Int64(p uintptr, v int64, w, off int, mask uint32) int64 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
s := 64 - w
return v << s >> s
}
func AssignBitFieldPtr64Int8(p uintptr, v int8, w, off int, mask uint64) int8 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
s := 8 - w
return v << s >> s
}
func AssignBitFieldPtr64Int16(p uintptr, v int16, w, off int, mask uint64) int16 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
s := 16 - w
return v << s >> s
}
func AssignBitFieldPtr64Int32(p uintptr, v int32, w, off int, mask uint64) int32 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
s := 32 - w
return v << s >> s
}
func AssignBitFieldPtr64Int64(p uintptr, v int64, w, off int, mask uint64) int64 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
s := 64 - w
return v << s >> s
}
func AssignBitFieldPtr8Uint8(p uintptr, v uint8, w, off int, mask uint8) uint8 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
return v & uint8(mask>>off)
}
func AssignBitFieldPtr8Uint16(p uintptr, v uint16, w, off int, mask uint8) uint16 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
return v & uint16(mask>>off)
}
func AssignBitFieldPtr8Uint32(p uintptr, v uint32, w, off int, mask uint8) uint32 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
return v & uint32(mask>>off)
}
func AssignBitFieldPtr8Uint64(p uintptr, v uint64, w, off int, mask uint8) uint64 {
- *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v<<off)&mask
+ *(*uint8)(unsafe.Pointer(p)) = *(*uint8)(unsafe.Pointer(p))&^uint8(mask) | uint8(v)<<off&mask
return v & uint64(mask>>off)
}
func AssignBitFieldPtr16Uint8(p uintptr, v uint8, w, off int, mask uint16) uint8 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
return v & uint8(mask>>off)
}
func AssignBitFieldPtr16Uint16(p uintptr, v uint16, w, off int, mask uint16) uint16 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
return v & uint16(mask>>off)
}
func AssignBitFieldPtr16Uint32(p uintptr, v uint32, w, off int, mask uint16) uint32 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
return v & uint32(mask>>off)
}
func AssignBitFieldPtr16Uint64(p uintptr, v uint64, w, off int, mask uint16) uint64 {
- *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v<<off)&mask
+ *(*uint16)(unsafe.Pointer(p)) = *(*uint16)(unsafe.Pointer(p))&^uint16(mask) | uint16(v)<<off&mask
return v & uint64(mask>>off)
}
func AssignBitFieldPtr32Uint8(p uintptr, v uint8, w, off int, mask uint32) uint8 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
return v & uint8(mask>>off)
}
func AssignBitFieldPtr32Uint16(p uintptr, v uint16, w, off int, mask uint32) uint16 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
return v & uint16(mask>>off)
}
func AssignBitFieldPtr32Uint32(p uintptr, v uint32, w, off int, mask uint32) uint32 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
return v & uint32(mask>>off)
}
func AssignBitFieldPtr32Uint64(p uintptr, v uint64, w, off int, mask uint32) uint64 {
- *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v<<off)&mask
+ *(*uint32)(unsafe.Pointer(p)) = *(*uint32)(unsafe.Pointer(p))&^uint32(mask) | uint32(v)<<off&mask
return v & uint64(mask>>off)
}
func AssignBitFieldPtr64Uint8(p uintptr, v uint8, w, off int, mask uint64) uint8 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
return v & uint8(mask>>off)
}
func AssignBitFieldPtr64Uint16(p uintptr, v uint16, w, off int, mask uint64) uint16 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
return v & uint16(mask>>off)
}
func AssignBitFieldPtr64Uint32(p uintptr, v uint32, w, off int, mask uint64) uint32 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
return v & uint32(mask>>off)
}
func AssignBitFieldPtr64Uint64(p uintptr, v uint64, w, off int, mask uint64) uint64 {
- *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v<<off)&mask
+ *(*uint64)(unsafe.Pointer(p)) = *(*uint64)(unsafe.Pointer(p))&^uint64(mask) | uint64(v)<<off&mask
return v & uint64(mask>>off)
}
diff --git a/vendor/modernc.org/libc/errno/capi_darwin_amd64.go b/vendor/modernc.org/libc/errno/capi_darwin_amd64.go
index e0b7cd826..4894d1516 100644
--- a/vendor/modernc.org/libc/errno/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/errno/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_darwin_amd64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_darwin_amd64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_darwin_arm64.go b/vendor/modernc.org/libc/errno/capi_darwin_arm64.go
index fa0a6a4c5..21541fdd9 100644
--- a/vendor/modernc.org/libc/errno/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/errno/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_darwin_arm64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_darwin_arm64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_linux_386.go b/vendor/modernc.org/libc/errno/capi_linux_386.go
index 3ec59e52a..e33ffcbc9 100644
--- a/vendor/modernc.org/libc/errno/capi_linux_386.go
+++ b/vendor/modernc.org/libc/errno/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_386.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_386.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_linux_amd64.go b/vendor/modernc.org/libc/errno/capi_linux_amd64.go
index 096854704..60faf3823 100644
--- a/vendor/modernc.org/libc/errno/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/errno/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_amd64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_amd64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_linux_arm.go b/vendor/modernc.org/libc/errno/capi_linux_arm.go
index 7d4dd76b9..1be1b8d34 100644
--- a/vendor/modernc.org/libc/errno/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/errno/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_arm.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_arm.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_linux_arm64.go b/vendor/modernc.org/libc/errno/capi_linux_arm64.go
index ca099be94..1759c771d 100644
--- a/vendor/modernc.org/libc/errno/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/errno/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_arm64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_arm64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_linux_s390x.go b/vendor/modernc.org/libc/errno/capi_linux_s390x.go
index 5a24f0625..dc0306163 100644
--- a/vendor/modernc.org/libc/errno/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/errno/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_s390x.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_s390x.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_netbsd_amd64.go b/vendor/modernc.org/libc/errno/capi_netbsd_amd64.go
new file mode 100644
index 000000000..ccaa50333
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo errno/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 errno/errno_netbsd_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_windows_386.go b/vendor/modernc.org/libc/errno/capi_windows_386.go
index d96973f23..076978ea2 100644
--- a/vendor/modernc.org/libc/errno/capi_windows_386.go
+++ b/vendor/modernc.org/libc/errno/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_windows_386.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_windows_386.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/capi_windows_amd64.go b/vendor/modernc.org/libc/errno/capi_windows_amd64.go
index 5155089ca..88b487f46 100644
--- a/vendor/modernc.org/libc/errno/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/errno/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_windows_amd64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno\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 errno\errno_windows_amd64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/errno_darwin_amd64.go b/vendor/modernc.org/libc/errno/errno_darwin_amd64.go
index 1d7292ad9..ce7e08067 100644
--- a/vendor/modernc.org/libc/errno/errno_darwin_amd64.go
+++ b/vendor/modernc.org/libc/errno/errno_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_darwin_amd64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_darwin_amd64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/errno_darwin_arm64.go b/vendor/modernc.org/libc/errno/errno_darwin_arm64.go
index 327002019..5833c90fe 100644
--- a/vendor/modernc.org/libc/errno/errno_darwin_arm64.go
+++ b/vendor/modernc.org/libc/errno/errno_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_darwin_arm64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_darwin_arm64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/errno_linux_386.go b/vendor/modernc.org/libc/errno/errno_linux_386.go
index d148b6605..ae8185c82 100644
--- a/vendor/modernc.org/libc/errno/errno_linux_386.go
+++ b/vendor/modernc.org/libc/errno/errno_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_386.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_386.go -pkgname errno', DO NOT EDIT.
package errno
@@ -157,6 +157,7 @@ const (
X_ERRNO_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_STDC_PREDEF_H = 1
diff --git a/vendor/modernc.org/libc/errno/errno_linux_amd64.go b/vendor/modernc.org/libc/errno/errno_linux_amd64.go
index f7b69c36c..920fd4ccc 100644
--- a/vendor/modernc.org/libc/errno/errno_linux_amd64.go
+++ b/vendor/modernc.org/libc/errno/errno_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_amd64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_amd64.go -pkgname errno', DO NOT EDIT.
package errno
diff --git a/vendor/modernc.org/libc/errno/errno_linux_arm.go b/vendor/modernc.org/libc/errno/errno_linux_arm.go
index 49a7ba609..923604310 100644
--- a/vendor/modernc.org/libc/errno/errno_linux_arm.go
+++ b/vendor/modernc.org/libc/errno/errno_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_arm.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_arm.go -pkgname errno', DO NOT EDIT.
package errno
@@ -174,4 +174,4 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_arm64.go b/vendor/modernc.org/libc/errno/errno_linux_arm64.go
index f0ea730cf..5ac7301f0 100644
--- a/vendor/modernc.org/libc/errno/errno_linux_arm64.go
+++ b/vendor/modernc.org/libc/errno/errno_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_arm64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_arm64.go -pkgname errno', DO NOT EDIT.
package errno
@@ -184,4 +184,4 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_s390x.go b/vendor/modernc.org/libc/errno/errno_linux_s390x.go
index 1f57b576d..4ecaf601d 100644
--- a/vendor/modernc.org/libc/errno/errno_linux_s390x.go
+++ b/vendor/modernc.org/libc/errno/errno_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_linux_s390x.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_linux_s390x.go -pkgname errno', DO NOT EDIT.
package errno
@@ -184,4 +184,4 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_netbsd_amd64.go b/vendor/modernc.org/libc/errno/errno_netbsd_amd64.go
new file mode 100644
index 000000000..8a96a69d1
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_netbsd_amd64.go
@@ -0,0 +1,144 @@
+// Code generated by 'ccgo errno/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 errno/errno_netbsd_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ E2BIG = 7
+ EACCES = 13
+ EADDRINUSE = 48
+ EADDRNOTAVAIL = 49
+ EAFNOSUPPORT = 47
+ EAGAIN = 35
+ EALREADY = 37
+ EAUTH = 80
+ EBADF = 9
+ EBADMSG = 88
+ EBADRPC = 72
+ EBUSY = 16
+ ECANCELED = 87
+ ECHILD = 10
+ ECONNABORTED = 53
+ ECONNREFUSED = 61
+ ECONNRESET = 54
+ EDEADLK = 11
+ EDESTADDRREQ = 39
+ EDOM = 33
+ EDQUOT = 69
+ EEXIST = 17
+ EFAULT = 14
+ EFBIG = 27
+ EFTYPE = 79
+ EHOSTDOWN = 64
+ EHOSTUNREACH = 65
+ EIDRM = 82
+ EILSEQ = 85
+ EINPROGRESS = 36
+ EINTR = 4
+ EINVAL = 22
+ EIO = 5
+ EISCONN = 56
+ EISDIR = 21
+ ELAST = 96
+ ELOOP = 62
+ EMFILE = 24
+ EMLINK = 31
+ EMSGSIZE = 40
+ EMULTIHOP = 94
+ ENAMETOOLONG = 63
+ ENEEDAUTH = 81
+ ENETDOWN = 50
+ ENETRESET = 52
+ ENETUNREACH = 51
+ ENFILE = 23
+ ENOATTR = 93
+ ENOBUFS = 55
+ ENODATA = 89
+ ENODEV = 19
+ ENOENT = 2
+ ENOEXEC = 8
+ ENOLCK = 77
+ ENOLINK = 95
+ ENOMEM = 12
+ ENOMSG = 83
+ ENOPROTOOPT = 42
+ ENOSPC = 28
+ ENOSR = 90
+ ENOSTR = 91
+ ENOSYS = 78
+ ENOTBLK = 15
+ ENOTCONN = 57
+ ENOTDIR = 20
+ ENOTEMPTY = 66
+ ENOTSOCK = 38
+ ENOTSUP = 86
+ ENOTTY = 25
+ ENXIO = 6
+ EOPNOTSUPP = 45
+ EOVERFLOW = 84
+ EPERM = 1
+ EPFNOSUPPORT = 46
+ EPIPE = 32
+ EPROCLIM = 67
+ EPROCUNAVAIL = 76
+ EPROGMISMATCH = 75
+ EPROGUNAVAIL = 74
+ EPROTO = 96
+ EPROTONOSUPPORT = 43
+ EPROTOTYPE = 41
+ ERANGE = 34
+ EREMOTE = 71
+ EROFS = 30
+ ERPCMISMATCH = 73
+ ESHUTDOWN = 58
+ ESOCKTNOSUPPORT = 44
+ ESPIPE = 29
+ ESRCH = 3
+ ESTALE = 70
+ ETIME = 92
+ ETIMEDOUT = 60
+ ETOOMANYREFS = 59
+ ETXTBSY = 26
+ EUSERS = 68
+ EWOULDBLOCK = 35
+ EXDEV = 18
+ X_ERRNO_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_ERRNO_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_windows_386.go b/vendor/modernc.org/libc/errno/errno_windows_386.go
index 73527e5de..4f0dfbe56 100644
--- a/vendor/modernc.org/libc/errno/errno_windows_386.go
+++ b/vendor/modernc.org/libc/errno/errno_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_windows_386.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno/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 errno/errno_windows_386.go -pkgname errno', DO NOT EDIT.
package errno
@@ -112,9 +112,7 @@ const (
EWOULDBLOCK = 140
EXDEV = 18
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
STRUNCATE = 80
@@ -138,9 +136,12 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_ERRNO = 0
@@ -209,6 +210,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -229,6 +235,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -269,26 +281,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -314,29 +328,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
// Posix thread extensions.
diff --git a/vendor/modernc.org/libc/errno/errno_windows_amd64.go b/vendor/modernc.org/libc/errno/errno_windows_amd64.go
index 05d61a94c..5ba0ea58d 100644
--- a/vendor/modernc.org/libc/errno/errno_windows_amd64.go
+++ b/vendor/modernc.org/libc/errno/errno_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_windows_amd64.go -pkgname errno', DO NOT EDIT.
+// Code generated by 'ccgo errno\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 errno\errno_windows_amd64.go -pkgname errno', DO NOT EDIT.
package errno
@@ -157,6 +157,7 @@ const (
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_ERRCODE_VALUES_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
diff --git a/vendor/modernc.org/libc/fcntl/capi_darwin_amd64.go b/vendor/modernc.org/libc/fcntl/capi_darwin_amd64.go
index 2cada671e..7ff36b734 100644
--- a/vendor/modernc.org/libc/fcntl/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_darwin_amd64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_darwin_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_darwin_arm64.go b/vendor/modernc.org/libc/fcntl/capi_darwin_arm64.go
index 61ad06738..eacbc259b 100644
--- a/vendor/modernc.org/libc/fcntl/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/fcntl/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_darwin_arm64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_darwin_arm64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_linux_386.go b/vendor/modernc.org/libc/fcntl/capi_linux_386.go
index d12c54779..6a2e65fb3 100644
--- a/vendor/modernc.org/libc/fcntl/capi_linux_386.go
+++ b/vendor/modernc.org/libc/fcntl/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_386.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_386.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_linux_amd64.go b/vendor/modernc.org/libc/fcntl/capi_linux_amd64.go
index ba772f54a..8b8fafc32 100644
--- a/vendor/modernc.org/libc/fcntl/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_amd64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_linux_arm.go b/vendor/modernc.org/libc/fcntl/capi_linux_arm.go
index bbc377e06..930e7252b 100644
--- a/vendor/modernc.org/libc/fcntl/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/fcntl/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_arm.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_arm.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_linux_arm64.go b/vendor/modernc.org/libc/fcntl/capi_linux_arm64.go
index 896b41b88..d8986988a 100644
--- a/vendor/modernc.org/libc/fcntl/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/fcntl/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_arm64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_arm64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_linux_s390x.go b/vendor/modernc.org/libc/fcntl/capi_linux_s390x.go
index 1d755f496..f1c6f3e7c 100644
--- a/vendor/modernc.org/libc/fcntl/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/fcntl/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_s390x.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_s390x.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_netbsd_amd64.go b/vendor/modernc.org/libc/fcntl/capi_netbsd_amd64.go
new file mode 100644
index 000000000..db75e28c0
--- /dev/null
+++ b/vendor/modernc.org/libc/fcntl/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_netbsd_amd64.go -pkgname fcntl', DO NOT EDIT.
+
+package fcntl
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/fcntl/capi_windows_386.go b/vendor/modernc.org/libc/fcntl/capi_windows_386.go
index c22da7bc1..901d6f2f6 100644
--- a/vendor/modernc.org/libc/fcntl/capi_windows_386.go
+++ b/vendor/modernc.org/libc/fcntl/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_windows_386.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_windows_386.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/capi_windows_amd64.go b/vendor/modernc.org/libc/fcntl/capi_windows_amd64.go
index 7ba8331c4..7567c4240 100644
--- a/vendor/modernc.org/libc/fcntl/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_windows_amd64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl\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 fcntl\fcntl_windows_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_darwin_amd64.go b/vendor/modernc.org/libc/fcntl/fcntl_darwin_amd64.go
index e2d5af3c7..b88e89fae 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_darwin_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_darwin_amd64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_darwin_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -774,8 +774,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -1901,9 +1901,9 @@ type Flocktimeout = struct {
// information passed by user to system
type Radvisory = struct {
- Fra_offset Off_t
- Fra_count int32
- _ [4]byte
+ Fra_offset Off_t
+ Fra_count int32
+ F__ccgo_pad1 [4]byte
} /* fcntl.h:371:1 */
//* Information the user passes in to get the codeblobs out of the kernel
@@ -2043,7 +2043,7 @@ type Fbootstraptransfer_t = Fbootstraptransfer /* fcntl.h:463:3 */
type Log2phys = struct {
Fl2p_flags uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fl2p_contigbytes Off_t
Fl2p_devoffset Off_t
} /* fcntl.h:489:1 */
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_darwin_arm64.go b/vendor/modernc.org/libc/fcntl/fcntl_darwin_arm64.go
index 9f79a1302..4c765a68b 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_darwin_arm64.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_darwin_arm64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_darwin_arm64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -1875,9 +1875,9 @@ type Flocktimeout = struct {
// information passed by user to system
type Radvisory = struct {
- Fra_offset Off_t
- Fra_count int32
- _ [4]byte
+ Fra_offset Off_t
+ Fra_count int32
+ F__ccgo_pad1 [4]byte
} /* fcntl.h:378:1 */
// detached code signatures data type -
@@ -1904,7 +1904,7 @@ type Fsupplement = struct {
Ffs_blob_start Off_t
Ffs_blob_size Size_t
Ffs_orig_fd int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* fcntl.h:403:9 */
type Fsupplement_t = Fsupplement /* fcntl.h:408:3 */
@@ -2034,7 +2034,7 @@ type Fbootstraptransfer_t = Fbootstraptransfer /* fcntl.h:487:3 */
type Log2phys = struct {
Fl2p_flags uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fl2p_contigbytes Off_t
Fl2p_devoffset Off_t
} /* fcntl.h:513:1 */
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_freebsd_amd64.go b/vendor/modernc.org/libc/fcntl/fcntl_freebsd_amd64.go
index d24cc9eed..4afbfb69e 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_freebsd_amd64.go
@@ -673,8 +673,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -748,13 +748,13 @@ type Pid_t = X__pid_t /* fcntl.h:63:18 */
// Advisory file segment locking data type -
// information passed to system by user
type Flock = struct {
- Fl_start Off_t
- Fl_len Off_t
- Fl_pid Pid_t
- Fl_type int16
- Fl_whence int16
- Fl_sysid int32
- _ [4]byte
+ Fl_start Off_t
+ Fl_len Off_t
+ Fl_pid Pid_t
+ Fl_type int16
+ Fl_whence int16
+ Fl_sysid int32
+ F__ccgo_pad1 [4]byte
} /* fcntl.h:294:1 */
// Old advisory file segment locking data type,
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_linux_386.go b/vendor/modernc.org/libc/fcntl/fcntl_linux_386.go
index 74fd77dcf..bcf733b66 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_linux_386.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_386.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_386.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -111,13 +111,17 @@ const (
W_OK = 2
X_OK = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
X_FCNTL_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
X_MKNOD_VER = 1
X_MKNOD_VER_LINUX = 1
X_MKNOD_VER_SVR4 = 2
@@ -148,7 +152,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -163,11 +167,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 6.5 File Control Operations <fcntl.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -182,7 +186,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -190,6 +194,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -310,6 +315,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -332,9 +339,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -349,7 +369,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -362,7 +382,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -377,7 +397,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -492,7 +512,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -513,10 +533,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -531,7 +555,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -572,7 +596,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get __mode_t, __dev_t and __off_t .
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,11 +611,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -606,43 +630,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -654,7 +698,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -676,7 +720,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -691,7 +735,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -700,81 +744,108 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Get the definitions of O_*, F_*, FD_*: all the
// numbers and flag bits for `open', `fcntl', et al.
// O_*, F_*, FD_* bit values for Linux/x86.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -789,7 +860,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Flock = struct {
Fl_type int16
@@ -801,7 +872,7 @@ type Flock = struct {
// Include generic Linux declarations.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -816,7 +887,7 @@ type Flock = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file contains shared definitions between Linux architectures
// and is included by <bits/fcntl.h> to declare them. The various
@@ -882,7 +953,7 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -897,18 +968,51 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -923,28 +1027,28 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Versions of the `struct stat' data structure.
// i386 versions of the `xmknod' interface.
type Stat = struct {
- Fst_dev X__dev_t
- F__pad1 uint16
- _ [2]byte
- F__st_ino X__ino_t
- Fst_mode X__mode_t
- Fst_nlink X__nlink_t
- Fst_uid X__uid_t
- Fst_gid X__gid_t
- Fst_rdev X__dev_t
- F__pad2 uint16
- _ [2]byte
- Fst_size X__off64_t
- Fst_blksize X__blksize_t
- Fst_blocks X__blkcnt64_t
- Fst_atim struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [2]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_linux_amd64.go b/vendor/modernc.org/libc/fcntl/fcntl_linux_amd64.go
index f651d6ef9..ff6e090d2 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_linux_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_amd64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -111,7 +111,10 @@ const (
W_OK = 2
X_OK = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -153,7 +156,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -168,11 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 6.5 File Control Operations <fcntl.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -187,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -195,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -315,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -337,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -354,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -367,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -382,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -497,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -518,11 +537,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -537,7 +560,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -578,7 +601,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get __mode_t, __dev_t and __off_t .
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -593,11 +616,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -612,45 +635,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -662,7 +704,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -683,7 +725,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -698,7 +740,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -713,83 +755,111 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// Get the definitions of O_*, F_*, FD_*: all the
// numbers and flag bits for `open', `fcntl', et al.
// O_*, F_*, FD_* bit values for Linux/x86.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -804,23 +874,23 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Not necessary, we always have 64-bit offsets.
type Flock = struct {
- Fl_type int16
- Fl_whence int16
- _ [4]byte
- Fl_start X__off64_t
- Fl_len X__off64_t
- Fl_pid X__pid_t
- _ [4]byte
+ Fl_type int16
+ Fl_whence int16
+ F__ccgo_pad1 [4]byte
+ Fl_start X__off64_t
+ Fl_len X__off64_t
+ Fl_pid X__pid_t
+ F__ccgo_pad2 [4]byte
} /* fcntl.h:35:1 */
// Include generic Linux declarations.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -835,7 +905,7 @@ type Flock = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file contains shared definitions between Linux architectures
// and is included by <bits/fcntl.h> to declare them. The various
@@ -901,7 +971,7 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -916,18 +986,51 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -942,7 +1045,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Versions of the `struct stat' data structure.
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_linux_arm.go b/vendor/modernc.org/libc/fcntl/fcntl_linux_arm.go
index 59845ee81..a2dcc7d05 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_linux_arm.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_arm.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_arm.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -111,7 +111,10 @@ const (
W_OK = 2
X_OK = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -147,7 +150,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -162,11 +165,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 6.5 File Control Operations <fcntl.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -181,7 +184,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -189,6 +192,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -309,6 +313,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -331,9 +337,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -348,7 +367,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -361,7 +380,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -376,7 +395,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -491,7 +510,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -512,7 +531,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -527,10 +550,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -545,7 +568,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -602,7 +625,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get __mode_t, __dev_t and __off_t .
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -617,11 +640,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -636,9 +659,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -653,41 +676,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -699,7 +759,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -721,7 +781,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -736,88 +796,115 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Get the definitions of O_*, F_*, FD_*: all the
// numbers and flag bits for `open', `fcntl', et al.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -832,21 +919,21 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Flock = struct {
- Fl_type int16
- Fl_whence int16
- _ [4]byte
- Fl_start X__off64_t
- Fl_len X__off64_t
- Fl_pid X__pid_t
- _ [4]byte
+ Fl_type int16
+ Fl_whence int16
+ F__ccgo_pad1 [4]byte
+ Fl_start X__off64_t
+ Fl_len X__off64_t
+ Fl_pid X__pid_t
+ F__ccgo_pad2 [4]byte
} /* fcntl.h:28:1 */
// Include generic Linux declarations.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -861,7 +948,7 @@ type Flock = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file contains shared definitions between Linux architectures
// and is included by <bits/fcntl.h> to declare them. The various
@@ -927,7 +1014,7 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -942,18 +1029,51 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// ARM has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -968,29 +1088,29 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Versions of the `struct stat' data structure.
// Versions of the `xmknod' interface.
type Stat = struct {
- Fst_dev X__dev_t
- F__pad1 uint16
- _ [2]byte
- F__st_ino X__ino_t
- Fst_mode X__mode_t
- Fst_nlink X__nlink_t
- Fst_uid X__uid_t
- Fst_gid X__gid_t
- Fst_rdev X__dev_t
- F__pad2 uint16
- _ [6]byte
- Fst_size X__off64_t
- Fst_blksize X__blksize_t
- _ [4]byte
- Fst_blocks X__blkcnt64_t
- Fst_atim struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [6]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ F__ccgo_pad3 [4]byte
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
@@ -1007,4 +1127,4 @@ type Stat = struct {
// Define some inlines helping to catch common problems.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_linux_arm64.go b/vendor/modernc.org/libc/fcntl/fcntl_linux_arm64.go
index fe981c325..8db44f6e3 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_linux_arm64.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_arm64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_arm64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -15,131 +15,127 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- AT_EACCESS = 0x200
- AT_FDCWD = -100
- AT_REMOVEDIR = 0x200
- AT_SYMLINK_FOLLOW = 0x400
- AT_SYMLINK_NOFOLLOW = 0x100
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
- FAPPEND = 1024
- FASYNC = 8192
- FD_CLOEXEC = 1
- FFSYNC = 1052672
- FNDELAY = 2048
- FNONBLOCK = 2048
- F_DUPFD = 0
- F_DUPFD_CLOEXEC = 1030
- F_EXLCK = 4
- F_GETFD = 1
- F_GETFL = 3
- F_GETLK = 5
- F_GETLK64 = 5
- F_GETOWN = 9
- F_LOCK = 1
- F_OK = 0
- F_RDLCK = 0
- F_SETFD = 2
- F_SETFL = 4
- F_SETLK = 6
- F_SETLK64 = 6
- F_SETLKW = 7
- F_SETLKW64 = 7
- F_SETOWN = 8
- F_SHLCK = 8
- F_TEST = 3
- F_TLOCK = 2
- F_ULOCK = 0
- F_UNLCK = 2
- F_WRLCK = 1
- LITTLE_ENDIAN = 1234
- LOCK_EX = 2
- LOCK_NB = 4
- LOCK_SH = 1
- LOCK_UN = 8
- O_ACCMODE = 0003
- O_APPEND = 02000
- O_ASYNC = 020000
- O_CLOEXEC = 524288
- O_CREAT = 0100
- O_DIRECTORY = 16384
- O_DSYNC = 4096
- O_EXCL = 0200
- O_FSYNC = 1052672
- O_NDELAY = 2048
- O_NOCTTY = 0400
- O_NOFOLLOW = 32768
- O_NONBLOCK = 04000
- O_RDONLY = 00
- O_RDWR = 02
- O_RSYNC = 1052672
- O_SYNC = 04010000
- O_TRUNC = 01000
- O_WRONLY = 01
- PDP_ENDIAN = 3412
- POSIX_FADV_DONTNEED = 4
- POSIX_FADV_NOREUSE = 5
- POSIX_FADV_NORMAL = 0
- POSIX_FADV_RANDOM = 1
- POSIX_FADV_SEQUENTIAL = 2
- POSIX_FADV_WILLNEED = 3
- R_OK = 4
- SEEK_CUR = 1
- SEEK_END = 2
- SEEK_SET = 0
- S_IFBLK = 24576
- S_IFCHR = 8192
- S_IFDIR = 16384
- S_IFIFO = 4096
- S_IFLNK = 40960
- S_IFMT = 61440
- S_IFREG = 32768
- S_IFSOCK = 49152
- S_IRGRP = 32
- S_IROTH = 4
- S_IRUSR = 256
- S_IRWXG = 56
- S_IRWXO = 7
- S_IRWXU = 448
- S_ISGID = 1024
- S_ISUID = 2048
- S_ISVTX = 512
- S_IWGRP = 16
- S_IWOTH = 2
- S_IWUSR = 128
- S_IXGRP = 8
- S_IXOTH = 1
- S_IXUSR = 64
- UTIME_NOW = 1073741823
- UTIME_OMIT = 1073741822
- W_OK = 2
- X_OK = 1
- X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
- X_BITS_STAT_H = 1
- X_BITS_TYPESIZES_H = 1
- X_BITS_TYPES_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
- X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
- X_FCNTL_H = 1
- X_FEATURES_H = 1
- X_FILE_OFFSET_BITS = 64
- X_LP64 = 1
- X_MKNOD_VER_LINUX = 0
- X_POSIX_C_SOURCE = 200809
- X_POSIX_SOURCE = 1
- X_STATBUF_ST_BLKSIZE = 0
- X_STATBUF_ST_NSEC = 0
- X_STATBUF_ST_RDEV = 0
- X_STAT_VER = 0
- X_STAT_VER_KERNEL = 0
- X_STAT_VER_LINUX = 0
- X_STDC_PREDEF_H = 1
- X_STRUCT_TIMESPEC = 1
- X_SYS_CDEFS_H = 1
- Linux = 1
- Unix = 1
+ AT_EACCESS = 0x200
+ AT_FDCWD = -100
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+ FAPPEND = 1024
+ FASYNC = 8192
+ FD_CLOEXEC = 1
+ FFSYNC = 1052672
+ FNDELAY = 2048
+ FNONBLOCK = 2048
+ F_DUPFD = 0
+ F_DUPFD_CLOEXEC = 1030
+ F_EXLCK = 4
+ F_GETFD = 1
+ F_GETFL = 3
+ F_GETLK = 5
+ F_GETLK64 = 5
+ F_GETOWN = 9
+ F_LOCK = 1
+ F_OK = 0
+ F_RDLCK = 0
+ F_SETFD = 2
+ F_SETFL = 4
+ F_SETLK = 6
+ F_SETLK64 = 6
+ F_SETLKW = 7
+ F_SETLKW64 = 7
+ F_SETOWN = 8
+ F_SHLCK = 8
+ F_TEST = 3
+ F_TLOCK = 2
+ F_ULOCK = 0
+ F_UNLCK = 2
+ F_WRLCK = 1
+ LOCK_EX = 2
+ LOCK_NB = 4
+ LOCK_SH = 1
+ LOCK_UN = 8
+ O_ACCMODE = 0003
+ O_APPEND = 02000
+ O_ASYNC = 020000
+ O_CLOEXEC = 524288
+ O_CREAT = 0100
+ O_DIRECTORY = 16384
+ O_DSYNC = 4096
+ O_EXCL = 0200
+ O_FSYNC = 1052672
+ O_NDELAY = 2048
+ O_NOCTTY = 0400
+ O_NOFOLLOW = 32768
+ O_NONBLOCK = 04000
+ O_RDONLY = 00
+ O_RDWR = 02
+ O_RSYNC = 1052672
+ O_SYNC = 04010000
+ O_TRUNC = 01000
+ O_WRONLY = 01
+ POSIX_FADV_DONTNEED = 4
+ POSIX_FADV_NOREUSE = 5
+ POSIX_FADV_NORMAL = 0
+ POSIX_FADV_RANDOM = 1
+ POSIX_FADV_SEQUENTIAL = 2
+ POSIX_FADV_WILLNEED = 3
+ R_OK = 4
+ SEEK_CUR = 1
+ SEEK_END = 2
+ SEEK_SET = 0
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
+ W_OK = 2
+ X_OK = 1
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FCNTL_H = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_MKNOD_VER_LINUX = 0
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 0
+ X_STAT_VER_KERNEL = 0
+ X_STAT_VER_LINUX = 0
+ X_STDC_PREDEF_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ Linux = 1
+ Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
@@ -160,7 +156,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -175,11 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 6.5 File Control Operations <fcntl.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -194,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -202,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -322,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -344,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -361,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -374,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -389,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -504,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -525,9 +537,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -542,10 +558,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -560,7 +576,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -594,7 +610,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -609,7 +625,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -620,7 +636,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get __mode_t, __dev_t and __off_t .
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -635,11 +651,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -654,11 +670,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -673,41 +689,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -719,7 +774,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -740,7 +795,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -756,7 +811,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -769,83 +824,110 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// Get the definitions of O_*, F_*, FD_*: all the
// numbers and flag bits for `open', `fcntl', et al.
// O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -861,21 +943,21 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Flock = struct {
- Fl_type int16
- Fl_whence int16
- _ [4]byte
- Fl_start X__off_t
- Fl_len X__off_t
- Fl_pid X__pid_t
- _ [4]byte
+ Fl_type int16
+ Fl_whence int16
+ F__ccgo_pad1 [4]byte
+ Fl_start X__off_t
+ Fl_len X__off_t
+ Fl_pid X__pid_t
+ F__ccgo_pad2 [4]byte
} /* fcntl.h:40:1 */
// Include generic Linux declarations.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -890,7 +972,7 @@ type Flock = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file contains shared definitions between Linux architectures
// and is included by <bits/fcntl.h> to declare them. The various
@@ -956,7 +1038,7 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -971,20 +1053,70 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// AArch64 has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
-// Determine the wordsize from the preprocessor defines.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1001,6 +1133,25 @@ type Timespec = struct {
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// 64-bit libc uses the kernel's 'struct stat', accessed via the
// stat() syscall; 32-bit libc uses the kernel's 'struct stat64'
// and accesses it via the stat64() syscall. All the various
@@ -1037,8 +1188,8 @@ type Stat = struct {
Ftv_nsec X__syscall_slong_t
}
F__glibc_reserved [2]int32
-} /* stat.h:55:1 */
+} /* stat.h:58:1 */
// Define some inlines helping to catch common problems.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_linux_s390x.go b/vendor/modernc.org/libc/fcntl/fcntl_linux_s390x.go
index d7a3a43d0..cbe884cec 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_linux_s390x.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_linux_s390x.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_linux_s390x.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -111,7 +111,10 @@ const (
W_OK = 2
X_OK = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -153,7 +156,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -168,11 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 6.5 File Control Operations <fcntl.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -187,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -195,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -315,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -337,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -354,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -367,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -382,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -497,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -518,10 +537,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -536,7 +559,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -576,7 +599,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get __mode_t, __dev_t and __off_t .
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -591,11 +614,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -610,43 +633,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -658,7 +703,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -679,7 +724,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -694,7 +739,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -709,83 +754,111 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// Get the definitions of O_*, F_*, FD_*: all the
// numbers and flag bits for `open', `fcntl', et al.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 2000-2018 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -800,7 +873,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -809,18 +882,18 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Not necessary, we always have 64-bit offsets.
type Flock = struct {
- Fl_type int16
- Fl_whence int16
- _ [4]byte
- Fl_start X__off_t
- Fl_len X__off_t
- Fl_pid X__pid_t
- _ [4]byte
+ Fl_type int16
+ Fl_whence int16
+ F__ccgo_pad1 [4]byte
+ Fl_start X__off_t
+ Fl_len X__off_t
+ Fl_pid X__pid_t
+ F__ccgo_pad2 [4]byte
} /* fcntl.h:37:1 */
// Include generic Linux declarations.
// O_*, F_*, FD_* bit values for Linux.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -835,7 +908,7 @@ type Flock = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file contains shared definitions between Linux architectures
// and is included by <bits/fcntl.h> to declare them. The various
@@ -901,7 +974,7 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -916,18 +989,51 @@ type Pid_t = X__pid_t /* fcntl.h:69:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// S/390 is big-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
-// Copyright (C) 2000-2018 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -942,7 +1048,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -979,4 +1085,4 @@ type Stat = struct {
// Define some inlines helping to catch common problems.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_netbsd_amd64.go b/vendor/modernc.org/libc/fcntl/fcntl_netbsd_amd64.go
new file mode 100644
index 000000000..37ef6e16c
--- /dev/null
+++ b/vendor/modernc.org/libc/fcntl/fcntl_netbsd_amd64.go
@@ -0,0 +1,1481 @@
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_netbsd_amd64.go -pkgname fcntl', DO NOT EDIT.
+
+package fcntl
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ AT_EACCESS = 0x100
+ AT_FDCWD = -100
+ AT_REMOVEDIR = 0x800
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x200
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ FAPPEND = 8
+ FASYNC = 64
+ FD_CLOEXEC = 1
+ FD_SETSIZE = 256
+ FNDELAY = 4
+ FREAD = 0x00000001
+ FWRITE = 0x00000002
+ F_CLOSEM = 10
+ F_DUPFD = 0
+ F_DUPFD_CLOEXEC = 12
+ F_GETFD = 1
+ F_GETFL = 3
+ F_GETLK = 7
+ F_GETNOSIGPIPE = 13
+ F_GETOWN = 5
+ F_MAXFD = 11
+ F_PARAM_MASK = 0xfff
+ F_PARAM_MAX = 4095
+ F_RDLCK = 1
+ F_SETFD = 2
+ F_SETFL = 4
+ F_SETLK = 8
+ F_SETLKW = 9
+ F_SETNOSIGPIPE = 14
+ F_SETOWN = 6
+ F_UNLCK = 2
+ F_WRLCK = 3
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ LOCK_EX = 0x02
+ LOCK_NB = 0x04
+ LOCK_SH = 0x01
+ LOCK_UN = 0x08
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ O_ACCMODE = 0x00000003
+ O_ALT_IO = 0x00040000
+ O_APPEND = 0x00000008
+ O_ASYNC = 0x00000040
+ O_CLOEXEC = 0x00400000
+ O_CREAT = 0x00000200
+ O_DIRECT = 0x00080000
+ O_DIRECTORY = 0x00200000
+ O_DSYNC = 0x00010000
+ O_EXCL = 0x00000800
+ O_EXLOCK = 0x00000020
+ O_FSYNC = 128
+ O_NDELAY = 4
+ O_NOCTTY = 0x00008000
+ O_NOFOLLOW = 0x00000100
+ O_NONBLOCK = 0x00000004
+ O_NOSIGPIPE = 0x01000000
+ O_RDONLY = 0x00000000
+ O_RDWR = 0x00000002
+ O_REGULAR = 0x02000000
+ O_RSYNC = 0x00020000
+ O_SEARCH = 0x00800000
+ O_SHLOCK = 0x00000010
+ O_SYNC = 0x00000080
+ O_TRUNC = 0x00000400
+ O_WRONLY = 0x00000001
+ PDP_ENDIAN = 3412
+ POSIX_FADV_DONTNEED = 4
+ POSIX_FADV_NOREUSE = 5
+ POSIX_FADV_NORMAL = 0
+ POSIX_FADV_RANDOM = 1
+ POSIX_FADV_SEQUENTIAL = 2
+ POSIX_FADV_WILLNEED = 3
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SEEK_CUR = 1
+ SEEK_END = 2
+ SEEK_SET = 0
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FCNTL_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// File status flags: these are used by open(2), fcntl(2).
+// They are also used (indirectly) in the kernel file structure f_flags,
+// which is a superset of the open/fcntl flags. Open flags and f_flags
+// are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags).
+// Open/fcntl flags begin with O_; kernel-internal flags begin with F.
+// open-only flags
+
+// Kernel encoding of open mode; separate read and write bits that are
+// independently testable: 1 greater than the above.
+//
+// XXX
+// FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH,
+// which was documented to use FREAD/FWRITE, continues to work.
+// path component
+
+// defined by POSIX 1003.1; BSD default, but required to be bitwise distinct
+
+// The O_* flags used to have only F* names, which were used in the kernel
+// and by fcntl. We retain the F* names for the kernel f_flags field
+// and for backward compatibility for fcntl.
+
+// Constants used for fcntl(2)
+
+// command values
+
+// file descriptor flags (F_GETFD, F_SETFD)
+
+// record locking flags (F_GETLK, F_SETLK, F_SETLKW)
+
+// Constants for fcntl's passed to the underlying fs - like ioctl's.
+
+// Define command macros for operations which, if implemented, must be
+// the same for all fs's.
+
+// Define command macros for fs-specific commands.
+
+// Advisory file segment locking data type -
+// information passed to system by user
+type Flock = struct {
+ Fl_start X__off_t
+ Fl_len X__off_t
+ Fl_pid X__pid_t
+ Fl_type int16
+ Fl_whence int16
+} /* fcntl.h:252:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_windows_386.go b/vendor/modernc.org/libc/fcntl/fcntl_windows_386.go
index 3b66b652c..5218b5b6f 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_windows_386.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_windows_386.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl/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 fcntl/fcntl_windows_386.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -33,9 +33,7 @@ const (
DUMMYUNIONNAME9 = 0
F_OK = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
O_ACCMODE = 3
@@ -83,6 +81,7 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
@@ -90,6 +89,8 @@ const (
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FINDDATA_T_DEFINED = 0
X_FSIZE_T_DEFINED = 0
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_FCNTL = 0
@@ -188,6 +189,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -208,6 +214,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -248,26 +260,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -293,29 +307,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
type X_fsize_t = uint32 /* io.h:29:25 */
type X_finddata32_t = struct {
@@ -334,12 +348,12 @@ type X_finddata32i64_t = struct {
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -349,13 +363,13 @@ type X_finddata64i32_t = struct {
type X__finddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
@@ -378,18 +392,18 @@ type X_wfinddata32i64_t = struct {
type X_wfinddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
diff --git a/vendor/modernc.org/libc/fcntl/fcntl_windows_amd64.go b/vendor/modernc.org/libc/fcntl/fcntl_windows_amd64.go
index 36fc8472b..55a33ff94 100644
--- a/vendor/modernc.org/libc/fcntl/fcntl_windows_amd64.go
+++ b/vendor/modernc.org/libc/fcntl/fcntl_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_windows_amd64.go -pkgname fcntl', DO NOT EDIT.
+// Code generated by 'ccgo fcntl\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 fcntl\fcntl_windows_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
@@ -133,6 +133,7 @@ const (
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
@@ -346,12 +347,12 @@ type X_finddata32i64_t = struct {
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -361,13 +362,13 @@ type X_finddata64i32_t = struct {
type X__finddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
@@ -390,18 +391,18 @@ type X_wfinddata32i64_t = struct {
type X_wfinddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
diff --git a/vendor/modernc.org/libc/fts/capi_darwin_amd64.go b/vendor/modernc.org/libc/fts/capi_darwin_amd64.go
index 39f9e22a1..2a2cd65c5 100644
--- a/vendor/modernc.org/libc/fts/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/fts/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_darwin_amd64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_darwin_amd64.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_darwin_arm64.go b/vendor/modernc.org/libc/fts/capi_darwin_arm64.go
index 778287468..c70942823 100644
--- a/vendor/modernc.org/libc/fts/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/fts/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_darwin_arm64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_darwin_arm64.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_linux_386.go b/vendor/modernc.org/libc/fts/capi_linux_386.go
index 8afe3f102..864dbf8e8 100644
--- a/vendor/modernc.org/libc/fts/capi_linux_386.go
+++ b/vendor/modernc.org/libc/fts/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_386.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_386.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_linux_amd64.go b/vendor/modernc.org/libc/fts/capi_linux_amd64.go
index 3056c5276..7c6e58484 100644
--- a/vendor/modernc.org/libc/fts/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/fts/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_amd64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_amd64.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_linux_arm.go b/vendor/modernc.org/libc/fts/capi_linux_arm.go
index 4fc728a52..5e721c122 100644
--- a/vendor/modernc.org/libc/fts/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/fts/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_arm.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_arm.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_linux_arm64.go b/vendor/modernc.org/libc/fts/capi_linux_arm64.go
index 9653d2a55..24a78a6c7 100644
--- a/vendor/modernc.org/libc/fts/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/fts/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_arm64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_arm64.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_linux_s390x.go b/vendor/modernc.org/libc/fts/capi_linux_s390x.go
index 5151cacdf..4d0ce9b2f 100644
--- a/vendor/modernc.org/libc/fts/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/fts/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_s390x.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_s390x.go -pkgname fts', DO NOT EDIT.
package fts
diff --git a/vendor/modernc.org/libc/fts/capi_netbsd_amd64.go b/vendor/modernc.org/libc/fts/capi_netbsd_amd64.go
new file mode 100644
index 000000000..c643a9989
--- /dev/null
+++ b/vendor/modernc.org/libc/fts/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo fts/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 fts/fts_netbsd_amd64.go -pkgname fts', DO NOT EDIT.
+
+package fts
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/fts/fts_darwin_amd64.go b/vendor/modernc.org/libc/fts/fts_darwin_amd64.go
index 9c5240fe6..df27dcd59 100644
--- a/vendor/modernc.org/libc/fts/fts_darwin_amd64.go
+++ b/vendor/modernc.org/libc/fts/fts_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_darwin_amd64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_darwin_amd64.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,6 +15,17 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ DEFFILEMODE = 438
+ EF_IS_PURGEABLE = 0x00000008
+ EF_IS_SPARSE = 0x00000010
+ EF_IS_SYNC_ROOT = 0x00000004
+ EF_MAY_SHARE_BLOCKS = 0x00000001
+ EF_NO_XATTRS = 0x00000002
+ FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x001
FTS_COMFOLLOWDIR = 0x400
@@ -52,35 +63,136 @@ const (
FTS_W = 14
FTS_WHITEOUT = 0x080
FTS_XDEV = 0x040
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ PDP_ENDIAN = 3412
+ SF_APPEND = 0x00040000
+ SF_ARCHIVED = 0x00010000
+ SF_DATALESS = 0x40000000
+ SF_FIRMLINK = 0x00800000
+ SF_IMMUTABLE = 0x00020000
+ SF_NOUNLINK = 0x00100000
+ SF_RESTRICTED = 0x00080000
+ SF_SETTABLE = 0x3fff0000
+ SF_SUPPORTED = 0x009f0000
+ SF_SYNTHETIC = 0xc0000000
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 0060000
+ S_IFCHR = 0020000
+ S_IFDIR = 0040000
+ S_IFIFO = 0010000
+ S_IFLNK = 0120000
+ S_IFMT = 0170000
+ S_IFREG = 0100000
+ S_IFSOCK = 0140000
+ S_IFWHT = 0160000
+ S_IREAD = 256
+ S_IRGRP = 0000040
+ S_IROTH = 0000004
+ S_IRUSR = 0000400
+ S_IRWXG = 0000070
+ S_IRWXO = 0000007
+ S_IRWXU = 0000700
+ S_ISGID = 0002000
+ S_ISTXT = 512
+ S_ISUID = 0004000
+ S_ISVTX = 0001000
+ S_IWGRP = 0000020
+ S_IWOTH = 0000002
+ S_IWRITE = 128
+ S_IWUSR = 0000200
+ S_IXGRP = 0000010
+ S_IXOTH = 0000001
+ S_IXUSR = 0000100
+ UF_APPEND = 0x00000004
+ UF_COMPRESSED = 0x00000020
+ UF_DATAVAULT = 0x00000080
+ UF_HIDDEN = 0x00008000
+ UF_IMMUTABLE = 0x00000002
+ UF_NODUMP = 0x00000001
+ UF_OPAQUE = 0x00000008
+ UF_SETTABLE = 0x0000ffff
+ UF_TRACKED = 0x00000040
+ UTIME_NOW = -1
+ UTIME_OMIT = -2
+ X_BLKCNT_T = 0
+ X_BLKSIZE_T = 0
X_BSD_I386__TYPES_H_ = 0
+ X_BSD_MACHINE_ENDIAN_H_ = 0
X_BSD_MACHINE_TYPES_H_ = 0
X_BSD_MACHINE__TYPES_H_ = 0
+ X_CADDR_T = 0
X_CDEFS_H_ = 0
+ X_CLOCK_T = 0
X_DARWIN_FEATURE_64_BIT_INODE = 1
X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
X_DEV_T = 0
+ X_ERRNO_T = 0
+ X_FD_SET = 0
+ X_FILESEC_T = 0
X_FILE_OFFSET_BITS = 64
+ X_FSBLKCNT_T = 0
+ X_FSFILCNT_T = 0
X_FTS_H_ = 0
+ X_GID_T = 0
+ X_I386__ENDIAN_H_ = 0
+ X_ID_T = 0
+ X_INO64_T = 0
X_INO_T = 0
X_INT16_T = 0
X_INT32_T = 0
X_INT64_T = 0
X_INT8_T = 0
X_INTPTR_T = 0
+ X_IN_ADDR_T = 0
+ X_IN_PORT_T = 0
+ X_KEY_T = 0
X_LP64 = 1
X_MACHTYPES_H_ = 0
+ X_MODE_T = 0
X_NLINK_T = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
+ X_OFF_T = 0
+ X_OS__OSBYTEORDERI386_H = 0
+ X_OS__OSBYTEORDER_H = 0
+ X_PID_T = 0
+ X_PTHREAD_ATTR_T = 0
+ X_PTHREAD_CONDATTR_T = 0
+ X_PTHREAD_COND_T = 0
+ X_PTHREAD_KEY_T = 0
+ X_PTHREAD_MUTEXATTR_T = 0
+ X_PTHREAD_MUTEX_T = 0
+ X_PTHREAD_ONCE_T = 0
+ X_PTHREAD_RWLOCKATTR_T = 0
+ X_PTHREAD_RWLOCK_T = 0
+ X_PTHREAD_T = 0
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_RSIZE_T = 0
+ X_SIZE_T = 0
+ X_SSIZE_T = 0
+ X_SUSECONDS_T = 0
+ X_SYS_STAT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_SYS__ENDIAN_H_ = 0
X_SYS__PTHREAD_TYPES_H_ = 0
X_SYS__TYPES_H_ = 0
+ X_TIME_T = 0
+ X_UID_T = 0
X_UINTPTR_T = 0
+ X_USECONDS_T = 0
+ X_U_CHAR = 0
+ X_U_INT = 0
X_U_INT16_T = 0
X_U_INT32_T = 0
X_U_INT64_T = 0
X_U_INT8_T = 0
+ X_U_LONG = 0
+ X_U_SHORT = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
@@ -101,16 +213,21 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
+// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
//
-// @APPLE_LICENSE_HEADER_START@
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
-// compliance with the License. Please obtain a copy of the License at
-// http://www.opensource.apple.com/apsl/ and read it before using this
-// file.
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -120,9 +237,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Please see the License for the specific language governing rights and
// limitations under the License.
//
-// @APPLE_LICENSE_HEADER_END@
-// Copyright (c) 1989, 1993
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
@@ -152,9 +275,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// @(#)types.h 8.4 (Berkeley) 1/21/94
-// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -533,7 +656,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This provides more advanced type checking on compilers supporting
// the proper extensions, even in C.
-// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+// Machine type dependent parameters.
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -558,6 +682,66 @@ type X__float128 = float64 /* <builtin>:47:21 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.3 (Berkeley) 1/5/94
// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
//
@@ -621,8 +805,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -644,6 +828,514 @@ type X__darwin_socklen_t = X__uint32_t /* _types.h:118:33 */ // socklen_t (duh)
type X__darwin_ssize_t = int64 /* _types.h:119:33 */ // byte count or error
type X__darwin_time_t = int64 /* _types.h:120:33 */ // time()
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Basic integral types. Omit the typedef if
+// not possible for a machine/compiler combination.
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int8_t = int8 /* _int8_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int16_t = int16 /* _int16_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int32_t = int32 /* _int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int64_t = int64 /* _int64_t.h:30:33 */
+
+// Copyright (c) 2016 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
+
+type Register_t = Int64_t /* types.h:87:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Uintptr_t = uint64 /* _uintptr_t.h:30:33 */
+
+// These types are used for reserving the largest possible size.
+type User_addr_t = U_int64_t /* types.h:97:33 */
+type User_size_t = U_int64_t /* types.h:98:33 */
+type User_ssize_t = Int64_t /* types.h:99:33 */
+type User_long_t = Int64_t /* types.h:100:33 */
+type User_ulong_t = U_int64_t /* types.h:101:33 */
+type User_time_t = Int64_t /* types.h:102:33 */
+type User_off_t = Int64_t /* types.h:103:33 */
+
+// This defines the size of syscall arguments after copying into the kernel:
+type Syscall_arg_t = U_int64_t /* types.h:111:33 */
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
// Type definitions; takes common type definitions that must be used
// in multiple header files due to [XSI], removes them from the system
// space, and puts them in the implementation space.
@@ -822,6 +1514,121 @@ type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_
type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_char = uint8 /* _u_char.h:30:25 */
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_short = uint16 /* _u_short.h:30:25 */
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int = uint32 /* _u_int.h:30:25 */
+type U_long = uint64 /* types.h:88:33 */
+type Ushort = uint16 /* types.h:91:33 */ // Sys V compatibility
+type Uint = uint32 /* types.h:92:33 */ // Sys V compatibility
+
+type U_quad_t = U_int64_t /* types.h:95:33 */ // quads
+type Quad_t = Int64_t /* types.h:96:33 */
+type Qaddr_t = uintptr /* types.h:97:16 */
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Caddr_t = uintptr /* _caddr_t.h:30:14 */
+
+type Daddr_t = Int32_t /* types.h:101:33 */ // disk address
+
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -874,6 +1681,9 @@ type X__darwin_pthread_t = uintptr /* _pthread_
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
+
+type Fixpt_t = U_int32_t /* types.h:105:33 */ // fixed point number
+
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -925,7 +1735,111 @@ type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
+type Blkcnt_t = X__darwin_blkcnt_t /* _blkcnt_t.h:31:34 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Blksize_t = X__darwin_blksize_t /* _blksize_t.h:31:35 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Gid_t = X__darwin_gid_t /* _gid_t.h:31:25 */
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -977,8 +1891,33 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
-
-// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+type In_addr_t = X__uint32_t /* _in_addr_t.h:31:25 */ // base type for internet address
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1004,40 +1943,61 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
-// Copyright (c) 1990, 1993
-// The Regents of the University of California. All rights reserved.
+type In_port_t = X__uint16_t /* _in_port_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 3. All advertising materials mentioning features or use of this software
-// must display the following acknowledgement:
-// This product includes software developed by the University of
-// California, Berkeley and its contributors.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
//
-// @(#)types.h 8.3 (Berkeley) 1/5/94
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1062,7 +2022,60 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Ino64_t = X__darwin_ino64_t /* _ino64_t.h:31:33 */ // 64bit inode number
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1088,45 +2101,60 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
-// Copyright (c) 1991, 1993
-// The Regents of the University of California. All rights reserved.
+type Key_t = X__int32_t /* _key_t.h:31:26 */ // IPC key (for Sys V IPC)
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
-// This code is derived from software contributed to Berkeley by
-// Berkeley Software Design, Inc.
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 3. All advertising materials mentioning features or use of this software
-// must display the following acknowledgement:
-// This product includes software developed by the University of
-// California, Berkeley and its contributors.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
-// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Basic integral types. Omit the typedef if
-// not possible for a machine/compiler combination.
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+type Mode_t = X__darwin_mode_t /* _mode_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1151,8 +2179,7 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int8_t = int8 /* _int8_t.h:30:33 */
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1177,8 +2204,9 @@ type Int8_t = int8 /* _int8_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int16_t = int16 /* _int16_t.h:30:33 */
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1203,8 +2231,7 @@ type Int16_t = int16 /* _int16_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int32_t = int32 /* _int32_t.h:30:33 */
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1229,9 +2256,9 @@ type Int32_t = int32 /* _int32_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int64_t = int64 /* _int64_t.h:30:33 */
-// Copyright (c) 2016 Apple Inc. All rights reserved.
+type Id_t = X__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1256,8 +2283,7 @@ type Int64_t = int64 /* _int64_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1282,8 +2308,9 @@ type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+
+type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1308,8 +2335,7 @@ type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
-// Copyright (c) 2012 Apple Inc. All rights reserved.
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1334,10 +2360,171 @@ type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
-type Register_t = Int64_t /* types.h:87:33 */
+type Off_t = X__darwin_off_t /* _off_t.h:31:33 */
+type Segsz_t = Int32_t /* types.h:125:33 */ // segment size
+type Swblk_t = Int32_t /* types.h:126:33 */ // swap offset
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */
+
+// Major, minor numbers, dev_t's.
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Clock_t = X__darwin_clock_t /* _clock_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Ssize_t = X__darwin_ssize_t /* _ssize_t.h:31:33 */
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1389,8 +2576,8 @@ type Register_t = Int64_t /* types.h:87:33 */
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Time_t = X__darwin_time_t /* _time_t.h:31:33 */
-type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1416,22 +2603,220 @@ type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Uintptr_t = uint64 /* _uintptr_t.h:30:33 */
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// These types are used for reserving the largest possible size.
-type User_addr_t = U_int64_t /* types.h:97:33 */
-type User_size_t = U_int64_t /* types.h:98:33 */
-type User_ssize_t = Int64_t /* types.h:99:33 */
-type User_long_t = Int64_t /* types.h:100:33 */
-type User_ulong_t = U_int64_t /* types.h:101:33 */
-type User_time_t = Int64_t /* types.h:102:33 */
-type User_off_t = Int64_t /* types.h:103:33 */
+type Useconds_t = X__darwin_useconds_t /* _useconds_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// This defines the size of syscall arguments after copying into the kernel:
-type Syscall_arg_t = U_int64_t /* types.h:111:33 */
+type Suseconds_t = X__darwin_suseconds_t /* _suseconds_t.h:31:33 */
-type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Rsize_t = X__darwin_size_t /* _rsize_t.h:31:32 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Errno_t = int32 /* _errno_t.h:30:32 */
+
+// This code is present here in order to maintain historical backward
+// compatability, and is intended to be removed at some point in the
+// future; please include <sys/select.h> instead.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
@@ -1649,34 +3034,68 @@ type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
// If SPI decorations have not been defined elsewhere, disable them.
-type X_ftsent = struct {
- Ffts_cycle uintptr
- Ffts_parent uintptr
- Ffts_link uintptr
- Ffts_number int64
- Ffts_pointer uintptr
- Ffts_accpath uintptr
- Ffts_path uintptr
- Ffts_errno int32
- Ffts_symfd int32
- Ffts_pathlen uint16
- Ffts_namelen uint16
- _ [4]byte
- Ffts_ino Ino_t
- Ffts_dev Dev_t
- Ffts_nlink Nlink_t
- Ffts_level int16
- Ffts_info uint16
- Ffts_flags uint16
- Ffts_instr uint16
- _ [2]byte
- Ffts_statp uintptr
- Ffts_name [1]int8
- _ [7]byte
-} /* fts.h:72:2 */
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars). The
+// extra protection here is to permit application redefinition above
+// the default size.
-// link count
+type Fd_set1 = struct{ Ffds_bits [32]X__int32_t } /* _fd_def.h:50:9 */
+// This code is present here in order to maintain historical backward
+// compatability, and is intended to be removed at some point in the
+// future; please include <sys/select.h> instead.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
@@ -1894,22 +3313,1828 @@ type X_ftsent = struct {
// If SPI decorations have not been defined elsewhere, disable them.
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars). The
+// extra protection here is to permit application redefinition above
+// the default size.
+
+type Fd_set = Fd_set1 /* _fd_def.h:52:3 */
+
+// Use the built-in bzero function instead of the library version so that
+// we do not pollute the namespace or introduce prototype warnings.
+
+type Fd_mask = X__int32_t /* types.h:189:25 */
+
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars). The
+// extra protection here is to permit application redefinition above
+// the default size.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_cond_t = X__darwin_pthread_cond_t /* _pthread_cond_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_condattr_t = X__darwin_pthread_condattr_t /* _pthread_condattr_t.h:31:37 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_mutex_t = X__darwin_pthread_mutex_t /* _pthread_mutex_t.h:31:34 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_mutexattr_t = X__darwin_pthread_mutexattr_t /* _pthread_mutexattr_t.h:31:38 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_once_t = X__darwin_pthread_once_t /* _pthread_once_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_rwlock_t = X__darwin_pthread_rwlock_t /* _pthread_rwlock_t.h:31:35 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_rwlockattr_t = X__darwin_pthread_rwlockattr_t /* _pthread_rwlockattr_t.h:31:39 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_t = X__darwin_pthread_t /* _pthread_t.h:31:28 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_key_t = X__darwin_pthread_key_t /* _pthread_key_t.h:31:32 */
+
+// statvfs and fstatvfs
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Fsblkcnt_t = X__darwin_fsblkcnt_t /* _fsblkcnt_t.h:31:41 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Fsfilcnt_t = X__darwin_fsfilcnt_t /* _fsfilcnt_t.h:31:41 */
+
+// Copyright (c) 2000-2014 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// -
+// Copyright (c) 1982, 1986, 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stat.h 8.9 (Berkeley) 8/17/94
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// [XSI] The timespec structure may be defined as described in <time.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type Timespec = struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+} /* _timespec.h:33:1 */
+
+// [XSI] The blkcnt_t, blksize_t, dev_t, ino_t, mode_t, nlink_t, uid_t,
+// gid_t, off_t, and time_t types shall be defined as described in
+// <sys/types.h>.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// XXX So deprecated, it would make your head spin
+//
+// The old stat structure. In fact, this is not used by the kernel at all,
+// and should not be used by user space, and should be removed from this
+// header file entirely (along with the unused cvtstat() prototype in
+// vnode_internal.h).
+type Ostat = struct {
+ Fst_dev X__uint16_t
+ F__ccgo_pad1 [6]byte
+ Fst_ino Ino_t
+ Fst_mode Mode_t
+ Fst_nlink Nlink_t
+ Fst_uid X__uint16_t
+ Fst_gid X__uint16_t
+ Fst_rdev X__uint16_t
+ F__ccgo_pad2 [2]byte
+ Fst_size X__int32_t
+ Fst_atimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_mtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_ctimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_blksize X__int32_t
+ Fst_blocks X__int32_t
+ Fst_flags X__uint32_t
+ Fst_gen X__uint32_t
+} /* stat.h:110:1 */
+
+// This structure is used as the second parameter to the fstat64(),
+// lstat64(), and stat64() functions, and for struct stat when
+// __DARWIN_64_BIT_INO_T is set. __DARWIN_STRUCT_STAT64 is defined
+// above, depending on whether we use struct timespec or the direct
+// components.
+//
+// This is simillar to stat except for 64bit inode number
+// number instead of 32bit ino_t and the addition of create(birth) time.
+
+// [XSI] This structure is used as the second parameter to the fstat(),
+// lstat(), and stat() functions.
+
+type Stat = struct {
+ Fst_dev Dev_t
+ Fst_mode Mode_t
+ Fst_nlink Nlink_t
+ Fst_ino X__darwin_ino64_t
+ Fst_uid Uid_t
+ Fst_gid Gid_t
+ Fst_rdev Dev_t
+ F__ccgo_pad1 [4]byte
+ Fst_atimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_mtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_ctimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_birthtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_size Off_t
+ Fst_blocks Blkcnt_t
+ Fst_blksize Blksize_t
+ Fst_flags X__uint32_t
+ Fst_gen X__uint32_t
+ Fst_lspare X__int32_t
+ Fst_qspare [2]X__int64_t
+} /* stat.h:182:1 */
+
+type Stat64 = struct {
+ Fst_dev Dev_t
+ Fst_mode Mode_t
+ Fst_nlink Nlink_t
+ Fst_ino X__darwin_ino64_t
+ Fst_uid Uid_t
+ Fst_gid Gid_t
+ Fst_rdev Dev_t
+ F__ccgo_pad1 [4]byte
+ Fst_atimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_mtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_ctimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_birthtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_size Off_t
+ Fst_blocks Blkcnt_t
+ Fst_blksize Blksize_t
+ Fst_flags X__uint32_t
+ Fst_gen X__uint32_t
+ Fst_lspare X__int32_t
+ Fst_qspare [2]X__int64_t
+} /* stat.h:221:1 */
+
+type Filesec_t = uintptr /* _filesec_t.h:31:25 */
+
+// Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+type X_ftsent = struct {
+ Ffts_cycle uintptr
+ Ffts_parent uintptr
+ Ffts_link uintptr
+ Ffts_number int64
+ Ffts_pointer uintptr
+ Ffts_accpath uintptr
+ Ffts_path uintptr
+ Ffts_errno int32
+ Ffts_symfd int32
+ Ffts_pathlen uint16
+ Ffts_namelen uint16
+ F__ccgo_pad1 [4]byte
+ Ffts_ino Ino_t
+ Ffts_dev Dev_t
+ Ffts_nlink Nlink_t
+ Ffts_level int16
+ Ffts_info uint16
+ Ffts_flags uint16
+ Ffts_instr uint16
+ F__ccgo_pad2 [2]byte
+ Ffts_statp uintptr
+ Ffts_name [1]int8
+ F__ccgo_pad3 [7]byte
+} /* fts.h:72:2 */
+
+// Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
Ffts_array uintptr
Ffts_dev Dev_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_path uintptr
Ffts_rfd int32
Ffts_pathlen int32
Ffts_nitems int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Ffts_compar uintptr
Ffts_options int32
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* fts.h:111:3 */
type FTSENT = X_ftsent /* fts.h:164:3 */
-var _ int8 /* gen.c:2:13: */
+var _ int8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_darwin_arm64.go b/vendor/modernc.org/libc/fts/fts_darwin_arm64.go
index 42e069088..0ed608e53 100644
--- a/vendor/modernc.org/libc/fts/fts_darwin_arm64.go
+++ b/vendor/modernc.org/libc/fts/fts_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_darwin_arm64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_darwin_arm64.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,6 +15,18 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ DEFFILEMODE = 438
+ EF_IS_PURGEABLE = 0x00000008
+ EF_IS_SPARSE = 0x00000010
+ EF_IS_SYNC_ROOT = 0x00000004
+ EF_IS_SYNTHETIC = 0x00000020
+ EF_MAY_SHARE_BLOCKS = 0x00000001
+ EF_NO_XATTRS = 0x00000002
+ FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_CHDIRFD = 0x08
FTS_COMFOLLOW = 0x001
@@ -53,6 +65,35 @@ const (
FTS_W = 14
FTS_WHITEOUT = 0x080
FTS_XDEV = 0x040
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 32767
+ INT_FAST16_MIN = -32768
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 127
+ INT_FAST8_MIN = -128
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
MAC_OS_VERSION_11_0 = 110000
MAC_OS_X_VERSION_10_0 = 1000
MAC_OS_X_VERSION_10_1 = 1010
@@ -86,37 +127,170 @@ const (
MAC_OS_X_VERSION_10_7 = 1070
MAC_OS_X_VERSION_10_8 = 1080
MAC_OS_X_VERSION_10_9 = 1090
+ NBBY = 8
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ RSIZE_MAX = 9223372036854775807
+ SF_APPEND = 0x00040000
+ SF_ARCHIVED = 0x00010000
+ SF_DATALESS = 0x40000000
+ SF_FIRMLINK = 0x00800000
+ SF_IMMUTABLE = 0x00020000
+ SF_NOUNLINK = 0x00100000
+ SF_RESTRICTED = 0x00080000
+ SF_SETTABLE = 0x3fff0000
+ SF_SUPPORTED = 0x009f0000
+ SF_SYNTHETIC = 0xc0000000
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 0060000
+ S_IFCHR = 0020000
+ S_IFDIR = 0040000
+ S_IFIFO = 0010000
+ S_IFLNK = 0120000
+ S_IFMT = 0170000
+ S_IFREG = 0100000
+ S_IFSOCK = 0140000
+ S_IFWHT = 0160000
+ S_IREAD = 256
+ S_IRGRP = 0000040
+ S_IROTH = 0000004
+ S_IRUSR = 0000400
+ S_IRWXG = 0000070
+ S_IRWXO = 0000007
+ S_IRWXU = 0000700
+ S_ISGID = 0002000
+ S_ISTXT = 512
+ S_ISUID = 0004000
+ S_ISVTX = 0001000
+ S_IWGRP = 0000020
+ S_IWOTH = 0000002
+ S_IWRITE = 128
+ S_IWUSR = 0000200
+ S_IXGRP = 0000010
+ S_IXOTH = 0000001
+ S_IXUSR = 0000100
+ UF_APPEND = 0x00000004
+ UF_COMPRESSED = 0x00000020
+ UF_DATAVAULT = 0x00000080
+ UF_HIDDEN = 0x00008000
+ UF_IMMUTABLE = 0x00000002
+ UF_NODUMP = 0x00000001
+ UF_OPAQUE = 0x00000008
+ UF_SETTABLE = 0x0000ffff
+ UF_TRACKED = 0x00000040
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 65535
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 255
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ UTIME_NOW = -1
+ UTIME_OMIT = -2
+ WCHAR_MAX = 2147483647
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 2147483647
+ WINT_MIN = -2147483648
+ X_ARM_ARCH_H = 0
+ X_ARM__ENDIAN_H_ = 0
+ X_BLKCNT_T = 0
+ X_BLKSIZE_T = 0
X_BSD_ARM__TYPES_H_ = 0
+ X_BSD_MACHINE_ENDIAN_H_ = 0
X_BSD_MACHINE_TYPES_H_ = 0
X_BSD_MACHINE__TYPES_H_ = 0
+ X_CADDR_T = 0
X_CDEFS_H_ = 0
+ X_CLOCK_T = 0
X_DARWIN_FEATURE_64_BIT_INODE = 1
X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1
X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
X_DARWIN_FEATURE_ONLY_VERS_1050 = 1
X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
X_DEV_T = 0
+ X_ERRNO_T = 0
+ X_FD_SET = 0
+ X_FILESEC_T = 0
X_FILE_OFFSET_BITS = 64
+ X_FSBLKCNT_T = 0
+ X_FSFILCNT_T = 0
X_FTS_H_ = 0
+ X_GCC_WRAP_STDINT_H = 0
+ X_GID_T = 0
+ X_ID_T = 0
+ X_INO64_T = 0
X_INO_T = 0
X_INT16_T = 0
X_INT32_T = 0
X_INT64_T = 0
X_INT8_T = 0
+ X_INTMAX_T = 0
X_INTPTR_T = 0
+ X_IN_ADDR_T = 0
+ X_IN_PORT_T = 0
+ X_KEY_T = 0
X_LP64 = 1
X_MACHTYPES_H_ = 0
+ X_MODE_T = 0
X_NLINK_T = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
+ X_OFF_T = 0
+ X_OS_OSBYTEORDERARM_H = 0
+ X_OS__OSBYTEORDER_H = 0
+ X_PID_T = 0
+ X_PTHREAD_ATTR_T = 0
+ X_PTHREAD_CONDATTR_T = 0
+ X_PTHREAD_COND_T = 0
+ X_PTHREAD_KEY_T = 0
+ X_PTHREAD_MUTEXATTR_T = 0
+ X_PTHREAD_MUTEX_T = 0
+ X_PTHREAD_ONCE_T = 0
+ X_PTHREAD_RWLOCKATTR_T = 0
+ X_PTHREAD_RWLOCK_T = 0
+ X_PTHREAD_T = 0
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_RSIZE_T = 0
+ X_SIZE_T = 0
+ X_SSIZE_T = 0
+ X_STDINT_H_ = 0
+ X_SUSECONDS_T = 0
+ X_SYS_STAT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_SYS__ENDIAN_H_ = 0
X_SYS__PTHREAD_TYPES_H_ = 0
X_SYS__TYPES_H_ = 0
+ X_TIME_T = 0
+ X_UID_T = 0
+ X_UINT16_T = 0
+ X_UINT32_T = 0
+ X_UINT64_T = 0
+ X_UINT8_T = 0
+ X_UINTMAX_T = 0
X_UINTPTR_T = 0
+ X_USECONDS_T = 0
+ X_U_CHAR = 0
+ X_U_INT = 0
X_U_INT16_T = 0
X_U_INT32_T = 0
X_U_INT64_T = 0
X_U_INT8_T = 0
+ X_U_LONG = 0
+ X_U_SHORT = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
@@ -137,16 +311,21 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
+// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
//
-// @APPLE_LICENSE_HEADER_START@
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
-// compliance with the License. Please obtain a copy of the License at
-// http://www.opensource.apple.com/apsl/ and read it before using this
-// file.
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -156,9 +335,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Please see the License for the specific language governing rights and
// limitations under the License.
//
-// @APPLE_LICENSE_HEADER_END@
-// Copyright (c) 1989, 1993
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
@@ -188,9 +373,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// @(#)types.h 8.4 (Berkeley) 1/21/94
-// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -573,7 +758,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This provides more advanced type checking on compilers supporting
// the proper extensions, even in C.
-// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+// Machine type dependent parameters.
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -598,6 +784,42 @@ type X__float128 = float64 /* <builtin>:47:21 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.3 (Berkeley) 1/5/94
// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
@@ -660,6 +882,490 @@ type X__darwin_socklen_t = X__uint32_t /* _types.h:94:33 */ // socklen_t (duh)
type X__darwin_ssize_t = int64 /* _types.h:95:33 */ // byte count or error
type X__darwin_time_t = int64 /* _types.h:96:33 */ // time()
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Basic integral types. Omit the typedef if
+// not possible for a machine/compiler combination.
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int8_t = int8 /* _int8_t.h:30:31 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int16_t = int16 /* _int16_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int32_t = int32 /* _int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int64_t = int64 /* _int64_t.h:30:33 */
+
+// Copyright (c) 2016 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
+
+type Register_t = Int64_t /* types.h:63:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Uintptr_t = uint64 /* _uintptr_t.h:30:33 */
+
+// These types are used for reserving the largest possible size.
+type User_addr_t = U_int64_t /* types.h:74:33 */
+type User_size_t = U_int64_t /* types.h:75:33 */
+type User_ssize_t = Int64_t /* types.h:76:33 */
+type User_long_t = Int64_t /* types.h:77:33 */
+type User_ulong_t = U_int64_t /* types.h:78:33 */
+type User_time_t = Int64_t /* types.h:79:33 */
+type User_off_t = Int64_t /* types.h:80:33 */
+
+// This defines the size of syscall arguments after copying into the kernel:
+type Syscall_arg_t = U_int64_t /* types.h:101:33 */
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+
// Type definitions; takes common type definitions that must be used
// in multiple header files due to [XSI], removes them from the system
// space, and puts them in the implementation space.
@@ -838,7 +1544,7 @@ type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_
type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
-// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -863,34 +1569,44 @@ type X__darwin_pthread_t = uintptr /* _pthread_
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
-//
-// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
-//
-// This file contains Original Code and/or Modifications of Original Code
-// as defined in and that are subject to the Apple Public Source License
-// Version 2.0 (the 'License'). You may not use this file except in
-// compliance with the License. The rights granted to you under the License
-// may not be used to create, or enable the creation or redistribution of,
-// unlawful or unlicensed copies of an Apple operating system, or to
-// circumvent, violate, or enable the circumvention or violation of, any
-// terms of an Apple operating system software license agreement.
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
//
-// Please obtain a copy of the License at
-// http://www.opensource.apple.com/apsl/ and read it before using this file.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
//
-// The Original Code and all software distributed under the License are
-// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
-// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
-// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
-// Please see the License for the specific language governing rights and
-// limitations under the License.
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
//
-// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
-type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
-// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -915,34 +1631,52 @@ type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
-//
-// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
//
-// This file contains Original Code and/or Modifications of Original Code
-// as defined in and that are subject to the Apple Public Source License
-// Version 2.0 (the 'License'). You may not use this file except in
-// compliance with the License. The rights granted to you under the License
-// may not be used to create, or enable the creation or redistribution of,
-// unlawful or unlicensed copies of an Apple operating system, or to
-// circumvent, violate, or enable the circumvention or violation of, any
-// terms of an Apple operating system software license agreement.
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
//
-// Please obtain a copy of the License at
-// http://www.opensource.apple.com/apsl/ and read it before using this file.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
//
-// The Original Code and all software distributed under the License are
-// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
-// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
-// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
-// Please see the License for the specific language governing rights and
-// limitations under the License.
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
//
-// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
-type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
-// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+// Define _NOQUAD if the compiler does NOT support 64-bit integers.
+// #define _NOQUAD
+
+// Define the order of 32-bit words in 64-bit words.
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// Copyright (c) 2004, 2006 Apple Computer, Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -967,7 +1701,9 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+
+// Copyright (c) 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -992,11 +1728,7 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// Copyright 1995 NeXT Computer, Inc. All rights reserved.
-
-// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
-// Copyright 1995 NeXT Computer, Inc. All rights reserved.
-// Copyright (c) 1990, 1993
+// Copyright (c) 1987, 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -1026,10 +1758,7 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
-//
-// @(#)types.h 8.3 (Berkeley) 1/5/94
-// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1092,8 +1821,85 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
-// Basic integral types. Omit the typedef if
-// not possible for a machine/compiler combination.
+// Macros for network/external number representation conversion.
+
+// Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This header is normally included from <libkern/OSByteOrder.h>. However,
+// <sys/_endian.h> also includes this in the case of little-endian
+// architectures, so that we can map OSByteOrder routines to the hton* and ntoh*
+// macros. This results in the asymmetry below; we only include
+// <libkern/arch/_OSByteOrder.h> for little-endian architectures.
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Macros for swapping constant values in the preprocessing stage.
+
+// Copyright (c) 1999-2007 Apple Inc. All rights reserved.
+
+// DO NOT EDIT THIS FILE.
+//
+// It has been auto-edited by fixincludes from:
+//
+// "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h"
+//
+// This had to be done to correct non-standard usages in the
+// original, manufacturer supplied header file.
+
+// Copyright (c) 2000-2010 Apple Inc.
+// All rights reserved.
+
+// from ISO/IEC 988:1999 spec
+
+// 7.18.1.1 Exact-width integer types
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1119,7 +1925,6 @@ type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int8_t = int8 /* _int8_t.h:30:31 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1145,7 +1950,6 @@ type Int8_t = int8 /* _int8_t.h:30:31 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int16_t = int16 /* _int16_t.h:30:33 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1171,7 +1975,6 @@ type Int16_t = int16 /* _int16_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int32_t = int32 /* _int32_t.h:30:33 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1197,9 +2000,8 @@ type Int32_t = int32 /* _int32_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Int64_t = int64 /* _int64_t.h:30:33 */
-// Copyright (c) 2016 Apple Inc. All rights reserved.
+// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
@@ -1224,7 +2026,8 @@ type Int64_t = int64 /* _int64_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
+
+type Uint8_t = uint8 /* _uint8_t.h:31:23 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1250,7 +2053,8 @@ type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
+
+type Uint16_t = uint16 /* _uint16_t.h:31:24 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1276,7 +2080,8 @@ type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
+
+type Uint32_t = uint32 /* _uint32_t.h:31:22 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1302,10 +2107,550 @@ type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
-type Register_t = Int64_t /* types.h:63:33 */
+type Uint64_t = uint64 /* _uint64_t.h:31:28 */
+
+// 7.18.1.2 Minimum-width integer types
+type Int_least8_t = Int8_t /* stdint.h:38:26 */
+type Int_least16_t = Int16_t /* stdint.h:39:25 */
+type Int_least32_t = Int32_t /* stdint.h:40:25 */
+type Int_least64_t = Int64_t /* stdint.h:41:25 */
+type Uint_least8_t = Uint8_t /* stdint.h:42:25 */
+type Uint_least16_t = Uint16_t /* stdint.h:43:24 */
+type Uint_least32_t = Uint32_t /* stdint.h:44:24 */
+type Uint_least64_t = Uint64_t /* stdint.h:45:24 */
+
+// 7.18.1.3 Fastest-width integer types
+type Int_fast8_t = Int8_t /* stdint.h:49:27 */
+type Int_fast16_t = Int16_t /* stdint.h:50:26 */
+type Int_fast32_t = Int32_t /* stdint.h:51:26 */
+type Int_fast64_t = Int64_t /* stdint.h:52:26 */
+type Uint_fast8_t = Uint8_t /* stdint.h:53:26 */
+type Uint_fast16_t = Uint16_t /* stdint.h:54:25 */
+type Uint_fast32_t = Uint32_t /* stdint.h:55:25 */
+type Uint_fast64_t = Uint64_t /* stdint.h:56:25 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// 7.18.1.5 Greatest-width integer types
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Intmax_t = int64 /* _intmax_t.h:32:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */
+
+// Functions for byte reversed loads.
+
+type X_OSUnalignedU16 = struct{ F__val Uint16_t } /* OSByteOrder.h:64:1 */
+
+type X_OSUnalignedU32 = struct{ F__val Uint32_t } /* OSByteOrder.h:68:1 */
+
+type X_OSUnalignedU64 = struct{ F__val Uint64_t } /* OSByteOrder.h:72:1 */
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_char = uint8 /* _u_char.h:30:25 */
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_short = uint16 /* _u_short.h:30:25 */
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int = uint32 /* _u_int.h:30:25 */
+type U_long = uint64 /* types.h:88:33 */
+type Ushort = uint16 /* types.h:91:33 */ // Sys V compatibility
+type Uint = uint32 /* types.h:92:33 */ // Sys V compatibility
+
+type U_quad_t = U_int64_t /* types.h:95:33 */ // quads
+type Quad_t = Int64_t /* types.h:96:33 */
+type Qaddr_t = uintptr /* types.h:97:16 */
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Caddr_t = uintptr /* _caddr_t.h:30:14 */
+
+type Daddr_t = Int32_t /* types.h:101:33 */ // disk address
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
+
+type Fixpt_t = U_int32_t /* types.h:105:33 */ // fixed point number
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Blkcnt_t = X__darwin_blkcnt_t /* _blkcnt_t.h:31:34 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Blksize_t = X__darwin_blksize_t /* _blksize_t.h:31:35 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Gid_t = X__darwin_gid_t /* _gid_t.h:31:25 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type In_addr_t = X__uint32_t /* _in_addr_t.h:31:25 */ // base type for internet address
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1357,8 +2702,60 @@ type Register_t = Int64_t /* types.h:63:33 */
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type In_port_t = X__uint16_t /* _in_port_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
-type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
@@ -1384,22 +2781,801 @@ type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-type Uintptr_t = uint64 /* _uintptr_t.h:30:33 */
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
-// These types are used for reserving the largest possible size.
-type User_addr_t = U_int64_t /* types.h:74:33 */
-type User_size_t = U_int64_t /* types.h:75:33 */
-type User_ssize_t = Int64_t /* types.h:76:33 */
-type User_long_t = Int64_t /* types.h:77:33 */
-type User_ulong_t = U_int64_t /* types.h:78:33 */
-type User_time_t = Int64_t /* types.h:79:33 */
-type User_off_t = Int64_t /* types.h:80:33 */
+type Ino64_t = X__darwin_ino64_t /* _ino64_t.h:31:33 */ // 64bit inode number
-// This defines the size of syscall arguments after copying into the kernel:
-type Syscall_arg_t = U_int64_t /* types.h:101:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Key_t = X__int32_t /* _key_t.h:31:26 */ // IPC key (for Sys V IPC)
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Mode_t = X__darwin_mode_t /* _mode_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Id_t = X__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Off_t = X__darwin_off_t /* _off_t.h:31:33 */
+
+type Segsz_t = Int32_t /* types.h:125:33 */ // segment size
+type Swblk_t = Int32_t /* types.h:126:33 */ // swap offset
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */
+
+// Major, minor numbers, dev_t's.
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Clock_t = X__darwin_clock_t /* _clock_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Ssize_t = X__darwin_ssize_t /* _ssize_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Time_t = X__darwin_time_t /* _time_t.h:31:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Useconds_t = X__darwin_useconds_t /* _useconds_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Suseconds_t = X__darwin_suseconds_t /* _suseconds_t.h:31:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+type Rsize_t = X__darwin_size_t /* _rsize_t.h:31:32 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Errno_t = int32 /* _errno_t.h:30:32 */
+
+// This code is present here in order to maintain historical backward
+// compatability, and is intended to be removed at some point in the
+// future; please include <sys/select.h> instead.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
@@ -1599,7 +3775,7 @@ type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -1640,34 +3816,68 @@ type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
// If SPI decorations have not been defined elsewhere, disable them.
-type X_ftsent = struct {
- Ffts_cycle uintptr
- Ffts_parent uintptr
- Ffts_link uintptr
- Ffts_number int64
- Ffts_pointer uintptr
- Ffts_accpath uintptr
- Ffts_path uintptr
- Ffts_errno int32
- Ffts_symfd int32
- Ffts_pathlen uint16
- Ffts_namelen uint16
- _ [4]byte
- Ffts_ino Ino_t
- Ffts_dev Dev_t
- Ffts_nlink Nlink_t
- Ffts_level int16
- Ffts_info uint16
- Ffts_flags uint16
- Ffts_instr uint16
- _ [2]byte
- Ffts_statp uintptr
- Ffts_name [1]int8
- _ [7]byte
-} /* fts.h:72:2 */
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars). The
+// extra protection here is to permit application redefinition above
+// the default size.
-// link count
+type Fd_set1 = struct{ Ffds_bits [32]X__int32_t } /* _fd_def.h:50:9 */
+// This code is present here in order to maintain historical backward
+// compatability, and is intended to be removed at some point in the
+// future; please include <sys/select.h> instead.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
@@ -1867,7 +4077,7 @@ type X_ftsent = struct {
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -1908,22 +4118,1794 @@ type X_ftsent = struct {
// If SPI decorations have not been defined elsewhere, disable them.
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars). The
+// extra protection here is to permit application redefinition above
+// the default size.
+
+type Fd_set = Fd_set1 /* _fd_def.h:52:3 */
+
+// Use the built-in bzero function instead of the library version so that
+// we do not pollute the namespace or introduce prototype warnings.
+
+type Fd_mask = X__int32_t /* types.h:189:25 */
+
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars). The
+// extra protection here is to permit application redefinition above
+// the default size.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_cond_t = X__darwin_pthread_cond_t /* _pthread_cond_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_condattr_t = X__darwin_pthread_condattr_t /* _pthread_condattr_t.h:31:37 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_mutex_t = X__darwin_pthread_mutex_t /* _pthread_mutex_t.h:31:34 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_mutexattr_t = X__darwin_pthread_mutexattr_t /* _pthread_mutexattr_t.h:31:38 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_once_t = X__darwin_pthread_once_t /* _pthread_once_t.h:31:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_rwlock_t = X__darwin_pthread_rwlock_t /* _pthread_rwlock_t.h:31:35 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_rwlockattr_t = X__darwin_pthread_rwlockattr_t /* _pthread_rwlockattr_t.h:31:39 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_t = X__darwin_pthread_t /* _pthread_t.h:31:28 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_key_t = X__darwin_pthread_key_t /* _pthread_key_t.h:31:32 */
+
+// statvfs and fstatvfs
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Fsblkcnt_t = X__darwin_fsblkcnt_t /* _fsblkcnt_t.h:31:41 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Fsfilcnt_t = X__darwin_fsfilcnt_t /* _fsfilcnt_t.h:31:41 */
+
+// Copyright (c) 2000-2014 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// -
+// Copyright (c) 1982, 1986, 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stat.h 8.9 (Berkeley) 8/17/94
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// [XSI] The timespec structure may be defined as described in <time.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type Timespec = struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+} /* _timespec.h:33:1 */
+
+// [XSI] The blkcnt_t, blksize_t, dev_t, ino_t, mode_t, nlink_t, uid_t,
+// gid_t, off_t, and time_t types shall be defined as described in
+// <sys/types.h>.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// XXX So deprecated, it would make your head spin
+//
+// The old stat structure. In fact, this is not used by the kernel at all,
+// and should not be used by user space, and should be removed from this
+// header file entirely (along with the unused cvtstat() prototype in
+// vnode_internal.h).
+type Ostat = struct {
+ Fst_dev X__uint16_t
+ F__ccgo_pad1 [6]byte
+ Fst_ino Ino_t
+ Fst_mode Mode_t
+ Fst_nlink Nlink_t
+ Fst_uid X__uint16_t
+ Fst_gid X__uint16_t
+ Fst_rdev X__uint16_t
+ F__ccgo_pad2 [2]byte
+ Fst_size X__int32_t
+ Fst_atimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_mtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_ctimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_blksize X__int32_t
+ Fst_blocks X__int32_t
+ Fst_flags X__uint32_t
+ Fst_gen X__uint32_t
+} /* stat.h:110:1 */
+
+// This structure is used as the second parameter to the fstat64(),
+// lstat64(), and stat64() functions, and for struct stat when
+// __DARWIN_64_BIT_INO_T is set. __DARWIN_STRUCT_STAT64 is defined
+// above, depending on whether we use struct timespec or the direct
+// components.
+//
+// This is simillar to stat except for 64bit inode number
+// number instead of 32bit ino_t and the addition of create(birth) time.
+
+// [XSI] This structure is used as the second parameter to the fstat(),
+// lstat(), and stat() functions.
+
+type Stat = struct {
+ Fst_dev Dev_t
+ Fst_mode Mode_t
+ Fst_nlink Nlink_t
+ Fst_ino X__darwin_ino64_t
+ Fst_uid Uid_t
+ Fst_gid Gid_t
+ Fst_rdev Dev_t
+ F__ccgo_pad1 [4]byte
+ Fst_atimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_mtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_ctimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_birthtimespec struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_nsec int64
+ }
+ Fst_size Off_t
+ Fst_blocks Blkcnt_t
+ Fst_blksize Blksize_t
+ Fst_flags X__uint32_t
+ Fst_gen X__uint32_t
+ Fst_lspare X__int32_t
+ Fst_qspare [2]X__int64_t
+} /* stat.h:182:1 */
+
+type Filesec_t = uintptr /* _filesec_t.h:31:25 */
+
+// Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+type X_ftsent = struct {
+ Ffts_cycle uintptr
+ Ffts_parent uintptr
+ Ffts_link uintptr
+ Ffts_number int64
+ Ffts_pointer uintptr
+ Ffts_accpath uintptr
+ Ffts_path uintptr
+ Ffts_errno int32
+ Ffts_symfd int32
+ Ffts_pathlen uint16
+ Ffts_namelen uint16
+ F__ccgo_pad1 [4]byte
+ Ffts_ino Ino_t
+ Ffts_dev Dev_t
+ Ffts_nlink Nlink_t
+ Ffts_level int16
+ Ffts_info uint16
+ Ffts_flags uint16
+ Ffts_instr uint16
+ F__ccgo_pad2 [2]byte
+ Ffts_statp uintptr
+ Ffts_name [1]int8
+ F__ccgo_pad3 [7]byte
+} /* fts.h:72:2 */
+
+// Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
Ffts_array uintptr
Ffts_dev Dev_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_path uintptr
Ffts_rfd int32
Ffts_pathlen int32
Ffts_nitems int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Ffts_compar uintptr
Ffts_options int32
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* fts.h:111:3 */
type FTSENT = X_ftsent /* fts.h:165:3 */
-var _ int8 /* gen.c:2:13: */
+var _ int8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_freebsd_amd64.go b/vendor/modernc.org/libc/fts/fts_freebsd_amd64.go
index 5e562f48f..95e7397f1 100644
--- a/vendor/modernc.org/libc/fts/fts_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/fts/fts_freebsd_amd64.go
@@ -15,51 +15,214 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- FTS_AGAIN = 1
- FTS_COMFOLLOW = 0x001
- FTS_D = 1
- FTS_DC = 2
- FTS_DEFAULT = 3
- FTS_DNR = 4
- FTS_DONTCHDIR = 0x01
- FTS_DOT = 5
- FTS_DP = 6
- FTS_ERR = 7
- FTS_F = 8
- FTS_FOLLOW = 2
- FTS_INIT = 9
- FTS_ISW = 0x04
- FTS_LOGICAL = 0x002
- FTS_NAMEONLY = 0x100
- FTS_NOCHDIR = 0x004
- FTS_NOINSTR = 3
- FTS_NOSTAT = 0x008
- FTS_NS = 10
- FTS_NSOK = 11
- FTS_OPTIONMASK = 0x0ff
- FTS_PHYSICAL = 0x010
- FTS_ROOTLEVEL = 0
- FTS_ROOTPARENTLEVEL = -1
- FTS_SEEDOT = 0x020
- FTS_SKIP = 4
- FTS_SL = 12
- FTS_SLNONE = 13
- FTS_STOP = 0x200
- FTS_SYMFOLLOW = 0x02
- FTS_W = 14
- FTS_WHITEOUT = 0x080
- FTS_XDEV = 0x040
- X_FILE_OFFSET_BITS = 64
- X_FTS_H_ = 0
- X_LP64 = 1
- X_MACHINE__LIMITS_H_ = 0
- X_MACHINE__TYPES_H_ = 0
- X_Nonnull = 0
- X_Null_unspecified = 0
- X_Nullable = 0
- X_SYS_CDEFS_H_ = 0
- X_SYS__TYPES_H_ = 0
- Unix = 1
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ CLK_TCK = 128
+ CLOCKS_PER_SEC = 128
+ CLOCK_MONOTONIC = 4
+ CLOCK_MONOTONIC_FAST = 12
+ CLOCK_MONOTONIC_PRECISE = 11
+ CLOCK_PROCESS_CPUTIME_ID = 15
+ CLOCK_PROF = 2
+ CLOCK_REALTIME = 0
+ CLOCK_REALTIME_FAST = 10
+ CLOCK_REALTIME_PRECISE = 9
+ CLOCK_SECOND = 13
+ CLOCK_THREAD_CPUTIME_ID = 14
+ CLOCK_UPTIME = 5
+ CLOCK_UPTIME_FAST = 8
+ CLOCK_UPTIME_PRECISE = 7
+ CLOCK_VIRTUAL = 1
+ CPUCLOCK_WHICH_PID = 0
+ CPUCLOCK_WHICH_TID = 1
+ DEFFILEMODE = 438
+ DST_AUST = 2
+ DST_CAN = 6
+ DST_EET = 5
+ DST_MET = 4
+ DST_NONE = 0
+ DST_USA = 1
+ DST_WET = 3
+ FD_SETSIZE = 1024
+ FTS_AGAIN = 1
+ FTS_COMFOLLOW = 0x001
+ FTS_D = 1
+ FTS_DC = 2
+ FTS_DEFAULT = 3
+ FTS_DNR = 4
+ FTS_DONTCHDIR = 0x01
+ FTS_DOT = 5
+ FTS_DP = 6
+ FTS_ERR = 7
+ FTS_F = 8
+ FTS_FOLLOW = 2
+ FTS_INIT = 9
+ FTS_ISW = 0x04
+ FTS_LOGICAL = 0x002
+ FTS_NAMEONLY = 0x100
+ FTS_NOCHDIR = 0x004
+ FTS_NOINSTR = 3
+ FTS_NOSTAT = 0x008
+ FTS_NS = 10
+ FTS_NSOK = 11
+ FTS_OPTIONMASK = 0x0ff
+ FTS_PHYSICAL = 0x010
+ FTS_ROOTLEVEL = 0
+ FTS_ROOTPARENTLEVEL = -1
+ FTS_SEEDOT = 0x020
+ FTS_SKIP = 4
+ FTS_SL = 12
+ FTS_SLNONE = 13
+ FTS_STOP = 0x200
+ FTS_SYMFOLLOW = 0x02
+ FTS_W = 14
+ FTS_WHITEOUT = 0x080
+ FTS_XDEV = 0x040
+ ITIMER_PROF = 2
+ ITIMER_REAL = 0
+ ITIMER_VIRTUAL = 1
+ LITTLE_ENDIAN = 1234
+ PDP_ENDIAN = 3412
+ SBT_MAX = 0x7fffffffffffffff
+ SF_APPEND = 0x00040000
+ SF_ARCHIVED = 0x00010000
+ SF_IMMUTABLE = 0x00020000
+ SF_NOUNLINK = 0x00100000
+ SF_SETTABLE = 0xffff0000
+ SF_SNAPSHOT = 0x00200000
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 0060000
+ S_IFCHR = 0020000
+ S_IFDIR = 0040000
+ S_IFIFO = 0010000
+ S_IFLNK = 0120000
+ S_IFMT = 0170000
+ S_IFREG = 0100000
+ S_IFSOCK = 0140000
+ S_IFWHT = 0160000
+ S_IREAD = 256
+ S_IRGRP = 0000040
+ S_IROTH = 0000004
+ S_IRUSR = 0000400
+ S_IRWXG = 0000070
+ S_IRWXO = 0000007
+ S_IRWXU = 0000700
+ S_ISGID = 0002000
+ S_ISTXT = 0001000
+ S_ISUID = 0004000
+ S_ISVTX = 0001000
+ S_IWGRP = 0000020
+ S_IWOTH = 0000002
+ S_IWRITE = 128
+ S_IWUSR = 0000200
+ S_IXGRP = 0000010
+ S_IXOTH = 0000001
+ S_IXUSR = 0000100
+ TIMER_ABSTIME = 0x1
+ TIMER_RELTIME = 0x0
+ TIME_UTC = 1
+ UF_APPEND = 0x00000004
+ UF_ARCHIVE = 0x00000800
+ UF_HIDDEN = 0x00008000
+ UF_IMMUTABLE = 0x00000002
+ UF_NODUMP = 0x00000001
+ UF_NOUNLINK = 0x00000010
+ UF_OFFLINE = 0x00000200
+ UF_OPAQUE = 0x00000008
+ UF_READONLY = 0x00001000
+ UF_REPARSE = 0x00000400
+ UF_SETTABLE = 0x0000ffff
+ UF_SPARSE = 0x00000100
+ UF_SYSTEM = 0x00000080
+ UTIME_NOW = -1
+ UTIME_OMIT = -2
+ X_ACCMODE_T_DECLARED = 0
+ X_BIG_ENDIAN = 4321
+ X_BLKCNT_T_DECLARED = 0
+ X_BLKSIZE_T_DECLARED = 0
+ X_BYTE_ORDER = 1234
+ X_CAP_IOCTL_T_DECLARED = 0
+ X_CAP_RIGHTS_T_DECLARED = 0
+ X_CLOCKID_T_DECLARED = 0
+ X_CLOCK_T_DECLARED = 0
+ X_DEV_T_DECLARED = 0
+ X_FFLAGS_T_DECLARED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FSBLKCNT_T_DECLARED = 0
+ X_FTRUNCATE_DECLARED = 0
+ X_FTS_H_ = 0
+ X_GID_T_DECLARED = 0
+ X_ID_T_DECLARED = 0
+ X_INO_T_DECLARED = 0
+ X_INT16_T_DECLARED = 0
+ X_INT32_T_DECLARED = 0
+ X_INT64_T_DECLARED = 0
+ X_INT8_T_DECLARED = 0
+ X_INTMAX_T_DECLARED = 0
+ X_INTPTR_T_DECLARED = 0
+ X_IN_ADDR_T_DECLARED = 0
+ X_IN_PORT_T_DECLARED = 0
+ X_KEY_T_DECLARED = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LOCALE_T_DEFINED = 0
+ X_LP64 = 1
+ X_LSEEK_DECLARED = 0
+ X_LWPID_T_DECLARED = 0
+ X_MACHINE_ENDIAN_H_ = 0
+ X_MACHINE__LIMITS_H_ = 0
+ X_MACHINE__TYPES_H_ = 0
+ X_MKNOD_DECLARED = 0
+ X_MMAP_DECLARED = 0
+ X_MODE_T_DECLARED = 0
+ X_MQD_T_DECLARED = 0
+ X_NLINK_T_DECLARED = 0
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_OFF64_T_DECLARED = 0
+ X_OFF_T_DECLARED = 0
+ X_PDP_ENDIAN = 3412
+ X_PID_T_DECLARED = 0
+ X_PTHREAD_T_DECLARED = 0
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_RLIM_T_DECLARED = 0
+ X_SELECT_DECLARED = 0
+ X_SIGSET_T_DECLARED = 0
+ X_SIG_MAXSIG = 128
+ X_SIG_WORDS = 4
+ X_SIZE_T_DECLARED = 0
+ X_SSIZE_T_DECLARED = 0
+ X_SUSECONDS_T_DECLARED = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_SELECT_H_ = 0
+ X_SYS_STAT_H_ = 0
+ X_SYS_TIMESPEC_H_ = 0
+ X_SYS_TIME_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_SYS__PTHREADTYPES_H_ = 0
+ X_SYS__SIGSET_H_ = 0
+ X_SYS__STDINT_H_ = 0
+ X_SYS__TIMESPEC_H_ = 0
+ X_SYS__TIMEVAL_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_TIMER_T_DECLARED = 0
+ X_TIME_H_ = 0
+ X_TIME_T_DECLARED = 0
+ X_TRUNCATE_DECLARED = 0
+ X_UID_T_DECLARED = 0
+ X_UINT16_T_DECLARED = 0
+ X_UINT32_T_DECLARED = 0
+ X_UINT64_T_DECLARED = 0
+ X_UINT8_T_DECLARED = 0
+ X_UINTMAX_T_DECLARED = 0
+ X_UINTPTR_T_DECLARED = 0
+ X_USECONDS_T_DECLARED = 0
+ X_XLOCALE_LOCALE1_H = 0
+ Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
@@ -83,8 +246,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
-// Copyright (c) 1989, 1993
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
@@ -110,36 +278,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
-// $FreeBSD$
-
-// -
-// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
-//
-// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
+// @(#)types.h 8.6 (Berkeley) 2/19/95
// $FreeBSD$
// -
@@ -364,6 +503,145 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Guard variables and structure members by lock.
+// Machine type dependent parameters.
+// -
+// This file is in the public domain.
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1987, 1991 Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 7.8 (Berkeley) 4/3/91
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
// -
// This file is in the public domain.
// $FreeBSD$
@@ -575,8 +853,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -584,11 +862,1344 @@ type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
-type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
+type X__gnuc_va_list = X__va_list /* _types.h:140:20 */
+type Pthread_once = struct {
+ Fstate int32
+ F__ccgo_pad1 [4]byte
+ Fmutex Pthread_mutex_t
+} /* _pthreadtypes.h:52:1 */
+
+// Primitive system data type definitions required by P1003.1c.
+//
+// Note that P1003.1c specifies that there are no defined comparison
+// or assignment operators for the types pthread_attr_t, pthread_cond_t,
+// pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t.
+type Pthread_t = uintptr /* _pthreadtypes.h:67:26 */
+type Pthread_attr_t = uintptr /* _pthreadtypes.h:70:30 */
+type Pthread_mutex_t = uintptr /* _pthreadtypes.h:71:31 */
+type Pthread_mutexattr_t = uintptr /* _pthreadtypes.h:72:35 */
+type Pthread_cond_t = uintptr /* _pthreadtypes.h:73:30 */
+type Pthread_condattr_t = uintptr /* _pthreadtypes.h:74:34 */
+type Pthread_key_t = int32 /* _pthreadtypes.h:75:20 */
+type Pthread_once_t = Pthread_once /* _pthreadtypes.h:76:30 */
+type Pthread_rwlock_t = uintptr /* _pthreadtypes.h:77:32 */
+type Pthread_rwlockattr_t = uintptr /* _pthreadtypes.h:78:35 */
+type Pthread_barrier_t = uintptr /* _pthreadtypes.h:79:33 */
+type Pthread_barrierattr_t = uintptr /* _pthreadtypes.h:80:36 */
+type Pthread_spinlock_t = uintptr /* _pthreadtypes.h:81:33 */
+
+// Additional type definitions:
+//
+// Note that P1003.1c reserves the prefixes pthread_ and PTHREAD_ for
+// use in header symbols.
+type Pthread_addr_t = uintptr /* _pthreadtypes.h:89:14 */
+type Pthread_startroutine_t = uintptr /* _pthreadtypes.h:90:14 */
+
+type U_char = uint8 /* types.h:52:23 */
+type U_short = uint16 /* types.h:53:24 */
+type U_int = uint32 /* types.h:54:22 */
+type U_long = uint64 /* types.h:55:23 */
+type Ushort = uint16 /* types.h:57:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:58:22 */ // Sys V compatibility
+
+// XXX POSIX sized integrals that should appear only in <sys/stdint.h>.
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2011 David E. O'Brien <obrien@FreeBSD.org>
+// Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+type Int8_t = X__int8_t /* _stdint.h:36:19 */
+
+type Int16_t = X__int16_t /* _stdint.h:41:20 */
+
+type Int32_t = X__int32_t /* _stdint.h:46:20 */
+
+type Int64_t = X__int64_t /* _stdint.h:51:20 */
+
+type Uint8_t = X__uint8_t /* _stdint.h:56:20 */
+
+type Uint16_t = X__uint16_t /* _stdint.h:61:21 */
+
+type Uint32_t = X__uint32_t /* _stdint.h:66:21 */
+
+type Uint64_t = X__uint64_t /* _stdint.h:71:21 */
+
+type Intptr_t = X__intptr_t /* _stdint.h:76:21 */
+type Uintptr_t = X__uintptr_t /* _stdint.h:80:22 */
+type Intmax_t = X__intmax_t /* _stdint.h:84:21 */
+type Uintmax_t = X__uintmax_t /* _stdint.h:88:22 */
+
+type U_int8_t = X__uint8_t /* types.h:67:19 */ // unsigned integrals (deprecated)
+type U_int16_t = X__uint16_t /* types.h:68:20 */
+type U_int32_t = X__uint32_t /* types.h:69:20 */
+type U_int64_t = X__uint64_t /* types.h:70:20 */
+
+type U_quad_t = X__uint64_t /* types.h:72:20 */ // quads (deprecated)
+type Quad_t = X__int64_t /* types.h:73:19 */
+type Qaddr_t = uintptr /* types.h:74:16 */
+
+type Caddr_t = uintptr /* types.h:76:14 */ // core address
+type C_caddr_t = uintptr /* types.h:77:20 */ // core address, pointer to const
+
+type Blksize_t = X__blksize_t /* types.h:80:21 */
+
+type Cpuwhich_t = X__cpuwhich_t /* types.h:84:22 */
+type Cpulevel_t = X__cpulevel_t /* types.h:85:22 */
+type Cpusetid_t = X__cpusetid_t /* types.h:86:22 */
+
+type Blkcnt_t = X__blkcnt_t /* types.h:89:20 */
+
+type Clock_t = X__clock_t /* types.h:94:19 */
+
+type Clockid_t = X__clockid_t /* types.h:99:21 */
+
+type Critical_t = X__critical_t /* types.h:103:22 */ // Critical section value
+type Daddr_t = X__daddr_t /* types.h:104:19 */ // disk address
+
+type Dev_t = X__dev_t /* types.h:107:18 */ // device number or struct cdev
+
+type Fflags_t = X__fflags_t /* types.h:112:20 */ // file flags
+
+type Fixpt_t = X__fixpt_t /* types.h:116:19 */ // fixed point number
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:119:22 */
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:120:22 */
+
+type Gid_t = X__gid_t /* types.h:125:18 */ // group id
+
+type In_addr_t = X__uint32_t /* types.h:130:20 */ // base type for internet address
+
+type In_port_t = X__uint16_t /* types.h:135:20 */
+
+type Id_t = X__id_t /* types.h:140:17 */ // can hold a uid_t or pid_t
+
+type Ino_t = X__ino_t /* types.h:145:18 */ // inode number
+
+type Key_t = X__key_t /* types.h:150:18 */ // IPC key (for Sys V IPC)
+
+type Lwpid_t = X__lwpid_t /* types.h:155:19 */ // Thread ID (a.k.a. LWP)
+
+type Mode_t = X__mode_t /* types.h:160:18 */ // permissions
+
+type Accmode_t = X__accmode_t /* types.h:165:21 */ // access permissions
+
+type Nlink_t = X__nlink_t /* types.h:170:19 */ // link count
+
+type Off_t = X__off_t /* types.h:175:18 */ // file offset
+
+type Off64_t = X__off64_t /* types.h:180:19 */ // file offset (alias)
+
+type Pid_t = X__pid_t /* types.h:185:18 */ // process id
+
+type Register_t = X__register_t /* types.h:189:22 */
+
+type Rlim_t = X__rlim_t /* types.h:192:18 */ // resource limit
+
+type Sbintime_t = X__int64_t /* types.h:196:19 */
+
+type Segsz_t = X__segsz_t /* types.h:198:19 */
+
+type Ssize_t = X__ssize_t /* types.h:206:19 */
+
+type Suseconds_t = X__suseconds_t /* types.h:211:23 */ // microseconds (signed)
+
+type Time_t = X__time_t /* types.h:216:18 */
+
+type Timer_t = X__timer_t /* types.h:221:19 */
+
+type Mqd_t = X__mqd_t /* types.h:226:17 */
+
+type U_register_t = X__u_register_t /* types.h:230:24 */
+
+type Uid_t = X__uid_t /* types.h:233:18 */ // user id
+
+type Useconds_t = X__useconds_t /* types.h:238:22 */ // microseconds (unsigned)
+
+type Cap_ioctl_t = uint64 /* types.h:244:23 */
+
+// Types suitable for exporting physical addresses, virtual addresses
+// (pointers), and memory object sizes from the kernel independent of native
+// word size. These should be used in place of vm_paddr_t, (u)intptr_t, and
+// size_t in structs which contain such types that are shared with userspace.
+type Kpaddr_t = X__uint64_t /* types.h:260:20 */
+type Kvaddr_t = X__uint64_t /* types.h:261:20 */
+type Ksize_t = X__uint64_t /* types.h:262:20 */
+type Kssize_t = X__int64_t /* types.h:263:19 */
+
+type Vm_offset_t = X__vm_offset_t /* types.h:265:23 */
+type Vm_ooffset_t = X__uint64_t /* types.h:266:20 */
+type Vm_paddr_t = X__vm_paddr_t /* types.h:267:22 */
+type Vm_pindex_t = X__uint64_t /* types.h:268:20 */
+type Vm_size_t = X__vm_size_t /* types.h:269:21 */
+
+type Rman_res_t = X__rman_res_t /* types.h:271:25 */
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+// $FreeBSD$
+
+// sigset_t macros.
+
+type X__sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+// $FreeBSD$
+
+// sigset_t macros.
+
+type X__sigset_t = X__sigset /* _sigset.h:55:3 */
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// Structure returned by gettimeofday(2) system call, and used in other calls.
+type Timeval = struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+} /* _timeval.h:49:1 */
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+type Timespec = struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+} /* _timespec.h:46:1 */
+
+// Structure defined by POSIX.1b to be like a itimerval, but with
+// timespecs. Used in the timer_*() system calls.
+type Itimerspec = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+} /* timespec.h:60:1 */
+
+type X__fd_mask = uint64 /* select.h:44:23 */
+type Fd_mask = X__fd_mask /* select.h:46:19 */
+
+type Sigset_t = X__sigset_t /* select.h:51:20 */
+
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars).
+// FD_SETSIZE may be defined by the user, but the default here should
+// be enough for most uses.
+
+type Fd_set1 = struct{ F__fds_bits [16]X__fd_mask } /* select.h:73:9 */
+
+// Select uses bit masks of file descriptors in longs. These macros
+// manipulate such bit fields (the filesystem macros use chars).
+// FD_SETSIZE may be defined by the user, but the default here should
+// be enough for most uses.
+
+type Fd_set = Fd_set1 /* select.h:75:3 */
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stat.h 8.12 (Berkeley) 6/16/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// XXX We get miscellaneous namespace pollution with this.
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.6 (Berkeley) 2/19/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
+// $FreeBSD$
+
+type Timezone = struct {
+ Ftz_minuteswest int32
+ Ftz_dsttime int32
+} /* time.h:42:1 */
+
+type Bintime = struct {
+ Fsec Time_t
+ Ffrac Uint64_t
+} /* time.h:55:1 */
+
+// Operations on timespecs
+
+// Names of the interval timers, and structure
+// defining a timer setting.
+
+type Itimerval = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ }
+} /* time.h:447:1 */
+
+// Getkerninfo clock information structure
+type Clockinfo = struct {
+ Fhz int32
+ Ftick int32
+ Fspare int32
+ Fstathz int32
+ Fprofhz int32
+} /* time.h:455:1 */
+
+// These macros are also in time.h.
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.3 (Berkeley) 1/21/94
+
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2003 Marcel Moolenaar
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
-// When the following macro is defined, the system uses 64-bit inode numbers.
-// Programs can use this to avoid including <sys/param.h>, with its associated
-// namespace pollution.
+// Frequency of the clock ticks reported by times(). Deprecated - use
+// sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.)
+
+// Frequency of the clock ticks reported by clock().
+
+// New in POSIX 1003.1b-1993.
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
+// $FreeBSD$
+
+// These macros are also in sys/time.h.
+
+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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
+} /* time.h:129:1 */
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2011, 2012 The FreeBSD Foundation
+// All rights reserved.
+//
+// This software was developed by David Chisnall under sponsorship from
+// the FreeBSD Foundation.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+type Locale_t = uintptr /* _time.h:36:25 */
+
+type Stat = struct {
+ Fst_dev Dev_t
+ Fst_ino Ino_t
+ Fst_nlink Nlink_t
+ Fst_mode Mode_t
+ Fst_padding0 X__int16_t
+ Fst_uid Uid_t
+ Fst_gid Gid_t
+ Fst_padding1 X__int32_t
+ Fst_rdev Dev_t
+ Fst_atim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_mtim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_ctim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_birthtim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_size Off_t
+ Fst_blocks Blkcnt_t
+ Fst_blksize Blksize_t
+ Fst_flags Fflags_t
+ Fst_gen X__uint64_t
+ Fst_spare [10]X__uint64_t
+} /* stat.h:160:1 */
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
type X_ftsent = struct {
Ffts_cycle uintptr
@@ -609,17 +2220,73 @@ type X_ftsent = struct {
Ffts_info int32
Ffts_flags uint32
Ffts_instr int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_statp uintptr
Ffts_name uintptr
Ffts_fts uintptr
} /* fts.h:41:2 */
-// compatibility w/GNU headers
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// $FreeBSD$
-// When the following macro is defined, the system uses 64-bit inode numbers.
-// Programs can use this to avoid including <sys/param.h>, with its associated
-// namespace pollution.
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
type FTS = struct {
Ffts_cur uintptr
@@ -628,15 +2295,15 @@ type FTS = struct {
Ffts_dev X__dev_t
Ffts_path uintptr
Ffts_rfd int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_pathlen X__size_t
Ffts_nitems X__size_t
Ffts_compar uintptr
Ffts_options int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Ffts_clientptr uintptr
} /* fts.h:66:3 */
type FTSENT = X_ftsent /* fts.h:120:3 */
-var _ int8 /* gen.c:2:13: */
+var _ int8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_linux_386.go b/vendor/modernc.org/libc/fts/fts_linux_386.go
index 2627f9f2b..bccb45322 100644
--- a/vendor/modernc.org/libc/fts/fts_linux_386.go
+++ b/vendor/modernc.org/libc/fts/fts_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_386.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_386.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,8 +15,11 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
+ DEFFILEMODE = 438
FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x0001
@@ -53,11 +56,44 @@ const (
FTS_XDEV = 0x0040
LITTLE_ENDIAN = 1234
PDP_ENDIAN = 3412
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IREAD = 256
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWRITE = 128
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STAT_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -69,20 +105,35 @@ const (
X_FILE_OFFSET_BITS = 64
X_FTS_H = 1
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
+ X_MKNOD_VER = 1
+ X_MKNOD_VER_LINUX = 1
+ X_MKNOD_VER_SVR4 = 2
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 3
+ X_STAT_VER_KERNEL = 1
+ X_STAT_VER_LINUX = 3
+ X_STAT_VER_LINUX_OLD = 1
+ X_STAT_VER_SVR4 = 2
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
+ X_SYS_STAT_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -100,8 +151,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// File tree traversal functions declarations.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -116,38 +166,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (c) 1989, 1993
-// The Regents of the University of California. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -162,7 +185,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -170,6 +193,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -290,6 +314,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -312,9 +338,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -329,7 +368,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -342,7 +381,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -357,7 +396,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -472,7 +511,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -493,10 +532,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -511,7 +554,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -548,7 +591,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -563,29 +607,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// Never include this file directly; use <sys/types.h> instead.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -600,11 +626,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
+// Determine the wordsize from the preprocessor defines.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -619,43 +646,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -667,7 +694,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -689,7 +716,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -704,7 +731,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -713,76 +740,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -819,7 +873,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -834,7 +888,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -842,7 +896,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -857,7 +911,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -865,7 +919,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -880,7 +934,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -888,7 +942,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -903,7 +957,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -918,11 +972,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -933,7 +982,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -948,10 +997,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -966,7 +1015,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -975,18 +1024,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1001,11 +1049,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1020,11 +1068,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1039,12 +1087,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1059,7 +1107,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1073,7 +1121,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1088,7 +1136,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1102,7 +1150,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1117,16 +1165,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1146,16 +1212,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1170,11 +1236,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1189,7 +1255,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1204,36 +1270,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1242,11 +1278,40 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1261,39 +1326,109 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1302,13 +1437,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1320,7 +1499,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1329,15 +1508,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1347,8 +1526,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1362,8 +1541,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1372,15 +1551,210 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// The Single Unix specification says that some more types are
+// available here.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Versions of the `struct stat' data structure.
+
+// i386 versions of the `xmknod' interface.
+
+type Stat = struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [2]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_mtim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ctim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ino X__ino64_t
+} /* stat.h:46:1 */
+
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type X_ftsent = struct {
Ffts_cycle uintptr
Ffts_parent uintptr
@@ -1402,9 +1776,92 @@ type X_ftsent = struct {
Ffts_instr uint16
Ffts_statp uintptr
Ffts_name [1]int8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
} /* fts.h:58:2 */
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
@@ -1420,4 +1877,4 @@ type FTS = struct {
type FTSENT = X_ftsent /* fts.h:147:3 */
-var _ int8 /* gen.c:2:13: */
+var _ int8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_linux_amd64.go b/vendor/modernc.org/libc/fts/fts_linux_amd64.go
index d339e08e5..1f05aceac 100644
--- a/vendor/modernc.org/libc/fts/fts_linux_amd64.go
+++ b/vendor/modernc.org/libc/fts/fts_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_amd64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_amd64.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,8 +15,11 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
+ DEFFILEMODE = 438
FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x0001
@@ -53,11 +56,44 @@ const (
FTS_XDEV = 0x0040
LITTLE_ENDIAN = 1234
PDP_ENDIAN = 3412
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IREAD = 256
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWRITE = 128
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STAT_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -70,20 +106,31 @@ const (
X_FTS_H = 1
X_GCC_SIZE_T = 0
X_LP64 = 1
+ X_MKNOD_VER = 0
+ X_MKNOD_VER_LINUX = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 1
+ X_STAT_VER_KERNEL = 0
+ X_STAT_VER_LINUX = 1
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
+ X_SYS_STAT_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -109,8 +156,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// File tree traversal functions declarations.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -125,38 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (c) 1989, 1993
-// The Regents of the University of California. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -171,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -179,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -299,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -321,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -338,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -351,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -366,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -481,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -502,11 +537,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -521,7 +560,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -558,7 +597,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -573,29 +613,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// Never include this file directly; use <sys/types.h> instead.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -610,11 +632,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
+// Determine the wordsize from the preprocessor defines.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -629,45 +653,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// Determine the wordsize from the preprocessor defines.
+// <https://www.gnu.org/licenses/>.
-// Both x86-64 and x32 use the 64-bit system call interface.
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -679,7 +701,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -700,7 +722,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -715,7 +737,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -730,78 +752,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -838,7 +888,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -853,7 +903,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -861,7 +911,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -876,7 +926,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -884,7 +934,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -899,7 +949,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -907,7 +957,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -922,7 +972,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -937,11 +987,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -952,7 +997,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -967,10 +1012,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -985,7 +1030,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -994,18 +1039,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1020,11 +1064,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1039,11 +1083,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1058,12 +1102,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1078,7 +1122,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1094,7 +1138,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1109,7 +1153,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1123,7 +1167,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1138,16 +1182,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1167,16 +1229,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1191,11 +1253,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1210,7 +1272,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1225,36 +1287,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1263,11 +1295,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1282,42 +1311,141 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1328,7 +1456,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1340,7 +1514,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1349,15 +1523,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1367,8 +1541,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1382,8 +1556,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1392,15 +1566,207 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// The Single Unix specification says that some more types are
+// available here.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Versions of the `struct stat' data structure.
+
+// x86-64 versions of the `xmknod' interface.
+
+type Stat = struct {
+ Fst_dev X__dev_t
+ Fst_ino X__ino_t
+ Fst_nlink X__nlink_t
+ Fst_mode X__mode_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ F__pad0 int32
+ Fst_rdev X__dev_t
+ Fst_size X__off_t
+ Fst_blksize X__blksize_t
+ Fst_blocks X__blkcnt_t
+ Fst_atim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_mtim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ctim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ F__glibc_reserved [3]X__syscall_slong_t
+} /* stat.h:46:1 */
+
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type X_ftsent = struct {
Ffts_cycle uintptr
Ffts_parent uintptr
@@ -1413,7 +1779,7 @@ type X_ftsent = struct {
Ffts_symfd int32
Ffts_pathlen uint16
Ffts_namelen uint16
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_ino Ino_t
Ffts_dev Dev_t
Ffts_nlink Nlink_t
@@ -1423,9 +1789,92 @@ type X_ftsent = struct {
Ffts_instr uint16
Ffts_statp uintptr
Ffts_name [1]int8
- _ [7]byte
+ F__ccgo_pad2 [7]byte
} /* fts.h:58:2 */
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
@@ -1435,12 +1884,12 @@ type FTS = struct {
Ffts_rfd int32
Ffts_pathlen int32
Ffts_nitems int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_compar uintptr
Ffts_options int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* fts.h:81:3 */
type FTSENT = X_ftsent /* fts.h:147:3 */
-var _ int8 /* gen.c:2:13: */
+var _ int8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_linux_arm.go b/vendor/modernc.org/libc/fts/fts_linux_arm.go
index 4b350b838..8c7d18e64 100644
--- a/vendor/modernc.org/libc/fts/fts_linux_arm.go
+++ b/vendor/modernc.org/libc/fts/fts_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_arm.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_arm.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,8 +15,11 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
+ DEFFILEMODE = 438
FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x0001
@@ -53,11 +56,44 @@ const (
FTS_XDEV = 0x0040
LITTLE_ENDIAN = 1234
PDP_ENDIAN = 3412
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IREAD = 256
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWRITE = 128
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STAT_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -69,6 +105,9 @@ const (
X_FILE_OFFSET_BITS = 64
X_FTS_H = 1
X_GCC_SIZE_T = 0
+ X_MKNOD_VER = 1
+ X_MKNOD_VER_LINUX = 1
+ X_MKNOD_VER_SVR4 = 2
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
@@ -77,12 +116,22 @@ const (
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 3
+ X_STAT_VER_KERNEL = 1
+ X_STAT_VER_LINUX = 3
+ X_STAT_VER_LINUX_OLD = 1
+ X_STAT_VER_SVR4 = 2
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
+ X_SYS_STAT_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -99,8 +148,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// File tree traversal functions declarations.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -115,38 +163,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (c) 1989, 1993
-// The Regents of the University of California. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -161,7 +182,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -169,6 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -289,6 +311,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -311,9 +335,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -328,7 +365,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -341,7 +378,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -356,7 +393,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -471,7 +508,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -492,7 +529,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -507,10 +548,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -525,7 +566,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -578,7 +619,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -593,11 +635,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -612,10 +654,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -630,11 +671,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
-
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -649,9 +689,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -666,41 +706,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -712,7 +754,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -734,7 +776,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -749,83 +791,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -862,7 +931,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -877,7 +946,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -885,7 +954,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -900,7 +969,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -908,7 +977,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -923,7 +992,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -931,7 +1000,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -946,7 +1015,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -961,11 +1030,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -976,7 +1040,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -991,10 +1055,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1009,7 +1073,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1018,18 +1082,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1044,11 +1107,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1063,11 +1126,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1082,12 +1145,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1102,7 +1165,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1117,7 +1180,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1132,7 +1195,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1146,7 +1209,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1161,16 +1224,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1190,16 +1271,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1214,11 +1295,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1233,7 +1314,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1248,35 +1329,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
@@ -1286,11 +1442,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1304,10 +1559,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1324,7 +1580,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
type X__pthread_rwlock_arch_t = struct {
F__readers uint32
@@ -1338,27 +1597,7 @@ type X__pthread_rwlock_arch_t = struct {
F__pad1 uint8
F__pad2 uint8
F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
-
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
-
-type X__pthread_mutex_s = struct {
- F__lock int32
- F__count uint32
- F__owner int32
- F__kind int32
- F__nusers uint32
- F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -1370,7 +1609,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1379,15 +1618,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1397,8 +1636,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1412,8 +1651,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1422,15 +1661,211 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// The Single Unix specification says that some more types are
+// available here.
+
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Versions of the `struct stat' data structure.
+
+// Versions of the `xmknod' interface.
+
+type Stat = struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [6]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ F__ccgo_pad3 [4]byte
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_mtim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ctim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ino X__ino64_t
+} /* stat.h:38:1 */
+
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type X_ftsent = struct {
Ffts_cycle uintptr
Ffts_parent uintptr
@@ -1451,15 +1886,98 @@ type X_ftsent = struct {
Ffts_flags uint16
Ffts_instr uint16
Ffts_statp uintptr
- Ffts_name [1]int8
- _ [7]byte
+ Ffts_name [1]uint8
+ F__ccgo_pad1 [7]byte
} /* fts.h:58:2 */
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
Ffts_array uintptr
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_dev Dev_t
Ffts_path uintptr
Ffts_rfd int32
@@ -1471,4 +1989,4 @@ type FTS = struct {
type FTSENT = X_ftsent /* fts.h:147:3 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_linux_arm64.go b/vendor/modernc.org/libc/fts/fts_linux_arm64.go
index 792b4b9dc..5935c72bd 100644
--- a/vendor/modernc.org/libc/fts/fts_linux_arm64.go
+++ b/vendor/modernc.org/libc/fts/fts_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_arm64.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_arm64.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,8 +15,11 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
+ DEFFILEMODE = 438
FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x0001
@@ -53,11 +56,44 @@ const (
FTS_XDEV = 0x0040
LITTLE_ENDIAN = 1234
PDP_ENDIAN = 3412
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IREAD = 256
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWRITE = 128
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STAT_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -70,20 +106,31 @@ const (
X_FTS_H = 1
X_GCC_SIZE_T = 0
X_LP64 = 1
+ X_MKNOD_VER = 0
+ X_MKNOD_VER_LINUX = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 0
+ X_STAT_VER_KERNEL = 0
+ X_STAT_VER_LINUX = 0
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
+ X_SYS_STAT_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -109,8 +156,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// File tree traversal functions declarations.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -125,38 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (c) 1989, 1993
-// The Regents of the University of California. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -171,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -179,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -299,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -321,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -338,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -351,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -366,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -481,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -502,9 +537,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -519,10 +558,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -537,7 +576,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -571,7 +610,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -586,14 +625,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -608,11 +648,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -627,10 +667,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -645,11 +686,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
-
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -664,11 +704,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -683,41 +723,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -729,7 +771,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -750,7 +792,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -766,7 +808,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -779,78 +821,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -887,7 +956,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -902,7 +971,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -910,7 +979,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -925,7 +994,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -933,7 +1002,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -948,7 +1017,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -956,7 +1025,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -971,7 +1040,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -986,11 +1055,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1001,7 +1065,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1016,10 +1080,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1034,7 +1098,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1043,18 +1107,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1069,11 +1132,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1088,11 +1151,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1107,12 +1170,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1127,7 +1190,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1142,7 +1205,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1157,7 +1220,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1171,7 +1234,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1186,16 +1249,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1215,16 +1296,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1239,11 +1320,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1258,7 +1339,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1273,36 +1354,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1311,11 +1362,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1331,9 +1379,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1350,36 +1399,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1389,7 +1557,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1401,7 +1614,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1410,15 +1623,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1428,15 +1641,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -1446,8 +1659,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1456,15 +1669,252 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// The Single Unix specification says that some more types are
+// available here.
+
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// 64-bit libc uses the kernel's 'struct stat', accessed via the
+// stat() syscall; 32-bit libc uses the kernel's 'struct stat64'
+// and accesses it via the stat64() syscall. All the various
+// APIs offered by libc use the kernel shape for their struct stat
+// structure; the only difference is that 32-bit programs not
+// using __USE_FILE_OFFSET64 only see the low 32 bits of some
+// of the fields (specifically st_ino, st_size, and st_blocks).
+
+// Versions of the `xmknod' interface.
+
+type Stat = struct {
+ Fst_dev X__dev_t
+ Fst_ino X__ino64_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad1 X__dev_t
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ F__pad2 int32
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_mtim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ctim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ F__glibc_reserved [2]int32
+} /* stat.h:58:1 */
+
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type X_ftsent = struct {
Ffts_cycle uintptr
Ffts_parent uintptr
@@ -1477,7 +1927,7 @@ type X_ftsent = struct {
Ffts_symfd int32
Ffts_pathlen uint16
Ffts_namelen uint16
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_ino Ino_t
Ffts_dev Dev_t
Ffts_nlink Nlink_t
@@ -1485,12 +1935,95 @@ type X_ftsent = struct {
Ffts_info uint16
Ffts_flags uint16
Ffts_instr uint16
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Ffts_statp uintptr
- Ffts_name [1]int8
- _ [7]byte
+ Ffts_name [1]uint8
+ F__ccgo_pad3 [7]byte
} /* fts.h:58:2 */
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
@@ -1500,12 +2033,12 @@ type FTS = struct {
Ffts_rfd int32
Ffts_pathlen int32
Ffts_nitems int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_compar uintptr
Ffts_options int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* fts.h:81:3 */
type FTSENT = X_ftsent /* fts.h:147:3 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_linux_s390x.go b/vendor/modernc.org/libc/fts/fts_linux_s390x.go
index d1b346459..7b76f7652 100644
--- a/vendor/modernc.org/libc/fts/fts_linux_s390x.go
+++ b/vendor/modernc.org/libc/fts/fts_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_linux_s390x.go -pkgname fts', DO NOT EDIT.
+// Code generated by 'ccgo fts/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 fts/fts_linux_s390x.go -pkgname fts', DO NOT EDIT.
package fts
@@ -15,8 +15,11 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
BIG_ENDIAN = 4321
BYTE_ORDER = 4321
+ DEFFILEMODE = 438
FD_SETSIZE = 1024
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x0001
@@ -53,11 +56,44 @@ const (
FTS_XDEV = 0x0040
LITTLE_ENDIAN = 1234
PDP_ENDIAN = 3412
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IREAD = 256
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWRITE = 128
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STAT_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -70,20 +106,31 @@ const (
X_FTS_H = 1
X_GCC_SIZE_T = 0
X_LP64 = 1
+ X_MKNOD_VER = 0
+ X_MKNOD_VER_LINUX = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 1
+ X_STAT_VER_KERNEL = 0
+ X_STAT_VER_LINUX = 1
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
+ X_SYS_STAT_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -109,8 +156,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// File tree traversal functions declarations.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -125,38 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (c) 1989, 1993
-// The Regents of the University of California. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 4. Neither the name of the University nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// @(#)fts.h 8.3 (Berkeley) 8/14/94
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -171,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -179,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -299,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -321,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -338,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -351,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -366,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -481,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -502,10 +537,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -520,7 +559,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -556,7 +595,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -571,29 +611,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// Never include this file directly; use <sys/types.h> instead.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -608,11 +630,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
+// Determine the wordsize from the preprocessor defines.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -627,43 +650,45 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -675,7 +700,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -696,7 +721,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -711,7 +736,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -726,78 +751,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -834,7 +887,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -849,7 +902,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -857,7 +910,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -872,7 +925,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -880,7 +933,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -895,7 +948,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -903,7 +956,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -918,7 +971,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -933,11 +986,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -948,7 +996,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -963,10 +1011,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -981,7 +1029,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -990,18 +1038,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1016,11 +1063,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1035,11 +1082,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1054,12 +1101,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1074,7 +1121,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1089,7 +1136,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1104,7 +1151,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1118,7 +1165,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1133,16 +1180,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1162,16 +1227,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1186,11 +1251,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1205,7 +1270,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1220,36 +1285,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1258,11 +1293,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1281,35 +1315,135 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1320,7 +1454,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1332,7 +1511,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1341,15 +1520,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1359,8 +1538,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1374,8 +1553,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1384,15 +1563,209 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// The Single Unix specification says that some more types are
+// available here.
+
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Versions of the `struct stat' data structure.
+
+// Versions of the `xmknod' interface.
+
+type Stat = struct {
+ Fst_dev X__dev_t
+ Fst_ino X__ino_t
+ Fst_nlink X__nlink_t
+ Fst_mode X__mode_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ F__glibc_reserved0 int32
+ Fst_rdev X__dev_t
+ Fst_size X__off_t
+ Fst_atim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_mtim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_ctim struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+ }
+ Fst_blksize X__blksize_t
+ Fst_blocks X__blkcnt_t
+ F__glibc_reserved [3]int64
+} /* stat.h:50:1 */
+
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type X_ftsent = struct {
Ffts_cycle uintptr
Ffts_parent uintptr
@@ -1405,7 +1778,7 @@ type X_ftsent = struct {
Ffts_symfd int32
Ffts_pathlen uint16
Ffts_namelen uint16
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_ino Ino_t
Ffts_dev Dev_t
Ffts_nlink Nlink_t
@@ -1414,10 +1787,93 @@ type X_ftsent = struct {
Ffts_flags uint16
Ffts_instr uint16
Ffts_statp uintptr
- Ffts_name [1]int8
- _ [7]byte
+ Ffts_name [1]uint8
+ F__ccgo_pad2 [7]byte
} /* fts.h:58:2 */
+// File tree traversal functions declarations.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
@@ -1427,12 +1883,12 @@ type FTS = struct {
Ffts_rfd int32
Ffts_pathlen int32
Ffts_nitems int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ffts_compar uintptr
Ffts_options int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* fts.h:81:3 */
type FTSENT = X_ftsent /* fts.h:147:3 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/fts/fts_netbsd_amd64.go b/vendor/modernc.org/libc/fts/fts_netbsd_amd64.go
new file mode 100644
index 000000000..3de385dd9
--- /dev/null
+++ b/vendor/modernc.org/libc/fts/fts_netbsd_amd64.go
@@ -0,0 +1,2626 @@
+// Code generated by 'ccgo fts/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 fts/fts_netbsd_amd64.go -pkgname fts', DO NOT EDIT.
+
+package fts
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ CLOCKS_PER_SEC = 100
+ CLOCK_MONOTONIC = 3
+ CLOCK_PROCESS_CPUTIME_ID = 0x40000000
+ CLOCK_PROF = 2
+ CLOCK_REALTIME = 0
+ CLOCK_THREAD_CPUTIME_ID = 0x20000000
+ CLOCK_VIRTUAL = 1
+ DEFFILEMODE = 438
+ FD_SETSIZE = 256
+ FTS_AGAIN = 1
+ FTS_COMFOLLOW = 0x001
+ FTS_D = 1
+ FTS_DC = 2
+ FTS_DEFAULT = 3
+ FTS_DNR = 4
+ FTS_DONTCHDIR = 0x01
+ FTS_DOT = 5
+ FTS_DP = 6
+ FTS_ERR = 7
+ FTS_F = 8
+ FTS_FOLLOW = 2
+ FTS_INIT = 9
+ FTS_ISW = 0x04
+ FTS_LOGICAL = 0x002
+ FTS_NAMEONLY = 0x100
+ FTS_NOCHDIR = 0x004
+ FTS_NOINSTR = 3
+ FTS_NOSTAT = 0x008
+ FTS_NS = 10
+ FTS_NSOK = 11
+ FTS_OPTIONMASK = 0x0ff
+ FTS_PHYSICAL = 0x010
+ FTS_ROOTLEVEL = 0
+ FTS_ROOTPARENTLEVEL = -1
+ FTS_SEEDOT = 0x020
+ FTS_SKIP = 4
+ FTS_SL = 12
+ FTS_SLNONE = 13
+ FTS_STOP = 0x200
+ FTS_SYMFOLLOW = 0x02
+ FTS_W = 14
+ FTS_WHITEOUT = 0x080
+ FTS_XDEV = 0x040
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ ITIMER_MONOTONIC = 3
+ ITIMER_PROF = 2
+ ITIMER_REAL = 0
+ ITIMER_VIRTUAL = 1
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SF_APPEND = 0x00040000
+ SF_ARCHIVED = 0x00010000
+ SF_IMMUTABLE = 0x00020000
+ SF_LOG = 0x00400000
+ SF_SETTABLE = 0xffff0000
+ SF_SNAPINVAL = 0x00800000
+ SF_SNAPSHOT = 0x00200000
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ S_ARCH1 = 65536
+ S_ARCH2 = 131072
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IFWHT = 57344
+ S_IREAD = 256
+ S_IRGRP = 0000040
+ S_IROTH = 0000004
+ S_IRUSR = 0000400
+ S_IRWXG = 0000070
+ S_IRWXO = 0000007
+ S_IRWXU = 0000700
+ S_ISGID = 0002000
+ S_ISTXT = 0001000
+ S_ISUID = 0004000
+ S_ISVTX = 512
+ S_IWGRP = 0000020
+ S_IWOTH = 0000002
+ S_IWRITE = 128
+ S_IWUSR = 0000200
+ S_IXGRP = 0000010
+ S_IXOTH = 0000001
+ S_IXUSR = 0000100
+ TIMER_ABSTIME = 0x1
+ TIMER_RELTIME = 0x0
+ TIME_UTC = 1
+ UF_APPEND = 0x00000004
+ UF_IMMUTABLE = 0x00000002
+ UF_NODUMP = 0x00000001
+ UF_OPAQUE = 0x00000008
+ UF_SETTABLE = 0x0000ffff
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_FTS_H_ = 0
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_IDTYPE_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_SYS_SELECT_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_STAT_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TIMESPEC_H_ = 0
+ X_SYS_TIME_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_S_ARCH1 = 0200000
+ X_S_ARCH2 = 0400000
+ X_S_IFBLK = 0060000
+ X_S_IFCHR = 0020000
+ X_S_IFDIR = 0040000
+ X_S_IFIFO = 0010000
+ X_S_IFLNK = 0120000
+ X_S_IFMT = 0170000
+ X_S_IFREG = 0100000
+ X_S_IFSOCK = 0140000
+ X_S_IFWHT = 0160000
+ X_S_ISVTX = 0001000
+ X_TIME_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+const ( /* idtype.h:41:1: */
+ P_MYID = -1 // Me/my process group
+ P_ALL = 0 // All processes.
+ P_PID = 1 // A process identifier.
+ P_LWPID = 2 // An LWP identifier.
+ P_PPID = 3 // A parent process identifier.
+ P_PGID = 4 // A process group identifier.
+ P_SID = 5 // A session identifier.
+ P_CID = 6 // A scheduling class identifier.
+ P_UID = 7 // A user identifier.
+ P_GID = 8 // A group identifier.
+ P_TASKID = 9 // A task identifier.
+ P_PROJID = 10 // A project identifier.
+ P_POOLID = 11 // A pool identifier.
+ P_ZONEID = 12 // A zone identifier.
+ P_CTID = 13 // A (process) contract identifier.
+ P_CPUID = 14 // CPU identifier.
+ P_PSETID = 15 // Processor set identifier.
+ X_P_MAXIDTYPE = 2147483647
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// $NetBSD: stat.h,v 1.68 2013/10/17 18:01:11 njoly Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stat.h 8.12 (Berkeley) 8/17/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// POSIX:2008 / XPG7 requires struct timespec to be declared in
+// this header, but does not provide the usual exemption
+// "inclusion of this header may make visible symbols defined in <time.h>".
+//
+// This is a Standard omission, acknowledged by the committee and
+// scheduled to be corrected in Technical Corrigendum 2, according to
+// http://austingroupbugs.net/view.php?id=531
+// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// Structure returned by gettimeofday(2) system call,
+// and used in other calls.
+type Timeval = struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+} /* time.h:44:1 */
+
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Timespec = struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+} /* timespec.h:47:1 */
+
+// Note: timezone is obsolete. All timezone handling is now in
+// userland. Its just here for back compatibility.
+type Timezone = struct {
+ Ftz_minuteswest int32
+ Ftz_dsttime int32
+} /* time.h:65:1 */
+
+// Operations on timevals.
+
+// hide bintime for _STANDALONE because this header is used for hpcboot.exe,
+// which is built with compilers which don't recognize LL suffix.
+// http://mail-index.NetBSD.org/tech-userlevel/2008/02/27/msg000181.html
+type Bintime = struct {
+ Fsec Time_t
+ Ffrac Uint64_t
+} /* time.h:102:1 */
+
+// Operations on timespecs.
+
+// Names of the interval timers, and structure
+// defining a timer setting.
+// NB: Must match the CLOCK_ constants below.
+
+type Itimerval = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+} /* time.h:280:1 */
+
+// Structure defined by POSIX.1b to be like a itimerval, but with
+// timespecs. Used in the timer_*() system calls.
+type Itimerspec = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+} /* time.h:289:1 */
+
+// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)select.h 8.2 (Berkeley) 1/4/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+
+// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.3 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
+// Public domain.
+
+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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
+} /* time.h:75:1 */
+
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+type Idtype_t = int32 /* idtype.h:60:3 */
+
+type Locale_t = uintptr /* time.h:188:25 */
+
+type Timezone_t = uintptr /* time.h:198:24 */
+
+type Stat = struct {
+ Fst_dev Dev_t
+ Fst_mode X__mode_t
+ F__ccgo_pad1 [4]byte
+ Fst_ino Ino_t
+ Fst_nlink Nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ F__ccgo_pad2 [4]byte
+ Fst_rdev Dev_t
+ Fst_atim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_mtim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_ctim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_birthtim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_size X__off_t
+ Fst_blocks Blkcnt_t
+ Fst_blksize Blksize_t
+ Fst_flags Uint32_t
+ Fst_gen Uint32_t
+ Fst_spare [2]Uint32_t
+ F__ccgo_pad3 [4]byte
+} /* stat.h:59:1 */
+
+// $NetBSD: fts.h,v 1.19 2009/08/16 19:33:38 christos Exp $
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+type X_ftsent = struct {
+ Ffts_cycle uintptr
+ Ffts_parent uintptr
+ Ffts_link uintptr
+ Ffts_number Int64_t
+ Ffts_pointer uintptr
+ Ffts_accpath uintptr
+ Ffts_path uintptr
+ Ffts_errno int32
+ Ffts_symfd int32
+ Ffts_pathlen uint32
+ Ffts_namelen uint32
+ Ffts_ino Ino_t
+ Ffts_dev Dev_t
+ Ffts_nlink Nlink_t
+ Ffts_level int32
+ Ffts_info uint16
+ Ffts_flags uint16
+ Ffts_instr uint16
+ F__ccgo_pad1 [2]byte
+ Ffts_statp uintptr
+ Ffts_name [1]int8
+ F__ccgo_pad2 [7]byte
+} /* fts.h:60:2 */
+
+// $NetBSD: fts.h,v 1.19 2009/08/16 19:33:38 christos Exp $
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)fts.h 8.3 (Berkeley) 8/14/94
+
+type FTS = struct {
+ Ffts_cur uintptr
+ Ffts_child uintptr
+ Ffts_array uintptr
+ Ffts_dev Dev_t
+ Ffts_path uintptr
+ Ffts_rfd int32
+ Ffts_pathlen uint32
+ Ffts_nitems uint32
+ F__ccgo_pad1 [4]byte
+ Ffts_compar uintptr
+ Ffts_options int32
+ F__ccgo_pad2 [4]byte
+} /* fts.h:84:3 */
+
+type FTSENT = X_ftsent /* fts.h:136:3 */
+
+var _ int8 /* gen.c:5:13: */
diff --git a/vendor/modernc.org/libc/grp/capi_darwin_amd64.go b/vendor/modernc.org/libc/grp/capi_darwin_amd64.go
index a26dafb71..b01ff6e72 100644
--- a/vendor/modernc.org/libc/grp/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/grp/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_darwin_amd64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_darwin_amd64.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_darwin_arm64.go b/vendor/modernc.org/libc/grp/capi_darwin_arm64.go
index 1686c6ccd..f0ca05221 100644
--- a/vendor/modernc.org/libc/grp/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/grp/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_darwin_arm64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_darwin_arm64.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_linux_386.go b/vendor/modernc.org/libc/grp/capi_linux_386.go
index ed5b59626..107535a60 100644
--- a/vendor/modernc.org/libc/grp/capi_linux_386.go
+++ b/vendor/modernc.org/libc/grp/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_386.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_386.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_linux_amd64.go b/vendor/modernc.org/libc/grp/capi_linux_amd64.go
index e13e8d934..f22fdd286 100644
--- a/vendor/modernc.org/libc/grp/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/grp/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_amd64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_amd64.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_linux_arm.go b/vendor/modernc.org/libc/grp/capi_linux_arm.go
index 767896cdf..3badd2145 100644
--- a/vendor/modernc.org/libc/grp/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/grp/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_arm.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_arm.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_linux_arm64.go b/vendor/modernc.org/libc/grp/capi_linux_arm64.go
index 15e15427b..1d9f5cad1 100644
--- a/vendor/modernc.org/libc/grp/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/grp/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_arm64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_arm64.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_linux_s390x.go b/vendor/modernc.org/libc/grp/capi_linux_s390x.go
index 25a4dd369..69d68e1b7 100644
--- a/vendor/modernc.org/libc/grp/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/grp/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_s390x.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_s390x.go -pkgname grp', DO NOT EDIT.
package grp
diff --git a/vendor/modernc.org/libc/grp/capi_netbsd_amd64.go b/vendor/modernc.org/libc/grp/capi_netbsd_amd64.go
new file mode 100644
index 000000000..0641828c9
--- /dev/null
+++ b/vendor/modernc.org/libc/grp/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo grp/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 grp/grp_netbsd_amd64.go -pkgname grp', DO NOT EDIT.
+
+package grp
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/grp/grp_darwin_amd64.go b/vendor/modernc.org/libc/grp/grp_darwin_amd64.go
index c5b00222e..f63baead3 100644
--- a/vendor/modernc.org/libc/grp/grp_darwin_amd64.go
+++ b/vendor/modernc.org/libc/grp/grp_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_darwin_amd64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_darwin_amd64.go -pkgname grp', DO NOT EDIT.
package grp
@@ -584,8 +584,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -869,11 +869,11 @@ type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
type Gid_t = X__darwin_gid_t /* _gid_t.h:31:25 */
type Group = struct {
- Fgr_name uintptr
- Fgr_passwd uintptr
- Fgr_gid Gid_t
- _ [4]byte
- Fgr_mem uintptr
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid Gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
} /* grp.h:53:1 */
// Public include file for the UUID library
@@ -989,6 +989,4 @@ type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
type Uuid_string_t = X__darwin_uuid_string_t /* uuid.h:43:33 */
-var sUUID_NULL = Uuid_t{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* uuid.h:49:1 */
-
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_darwin_arm64.go b/vendor/modernc.org/libc/grp/grp_darwin_arm64.go
index aba09dc48..ecac8bbc0 100644
--- a/vendor/modernc.org/libc/grp/grp_darwin_arm64.go
+++ b/vendor/modernc.org/libc/grp/grp_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_darwin_arm64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_darwin_arm64.go -pkgname grp', DO NOT EDIT.
package grp
@@ -851,11 +851,11 @@ type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
type Gid_t = X__darwin_gid_t /* _gid_t.h:31:25 */
type Group = struct {
- Fgr_name uintptr
- Fgr_passwd uintptr
- Fgr_gid Gid_t
- _ [4]byte
- Fgr_mem uintptr
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid Gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
} /* grp.h:53:1 */
// Public include file for the UUID library
@@ -971,6 +971,4 @@ type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
type Uuid_string_t = X__darwin_uuid_string_t /* uuid.h:43:33 */
-var sUUID_NULL = Uuid_t{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* uuid.h:49:1 */
-
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_freebsd_amd64.go b/vendor/modernc.org/libc/grp/grp_freebsd_amd64.go
index f46ebabd3..1e491cd18 100644
--- a/vendor/modernc.org/libc/grp/grp_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/grp/grp_freebsd_amd64.go
@@ -585,8 +585,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -603,11 +603,11 @@ type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GN
type Gid_t = X__gid_t /* grp.h:49:18 */
type Group = struct {
- Fgr_name uintptr
- Fgr_passwd uintptr
- Fgr_gid Gid_t
- _ [4]byte
- Fgr_mem uintptr
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid Gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
} /* grp.h:58:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_linux_386.go b/vendor/modernc.org/libc/grp/grp_linux_386.go
index 2e550aff1..8c140e9e4 100644
--- a/vendor/modernc.org/libc/grp/grp_linux_386.go
+++ b/vendor/modernc.org/libc/grp/grp_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_386.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_386.go -pkgname grp', DO NOT EDIT.
package grp
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_GROUP = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -26,6 +27,7 @@ const (
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
X_GRP_H = 1
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
@@ -53,7 +55,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -68,11 +70,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.1 Group Database Access <grp.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -87,7 +89,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -95,6 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -215,6 +218,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -237,9 +242,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -254,7 +272,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -267,7 +285,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -282,7 +300,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -397,7 +415,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -418,10 +436,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -436,7 +458,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -474,7 +496,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -489,11 +511,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -508,43 +530,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -556,7 +598,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -578,7 +620,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -593,7 +635,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -602,76 +644,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -681,11 +750,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// For the Single Unix specification we must define this type here.
diff --git a/vendor/modernc.org/libc/grp/grp_linux_amd64.go b/vendor/modernc.org/libc/grp/grp_linux_amd64.go
index 31204316e..cfd9d8485 100644
--- a/vendor/modernc.org/libc/grp/grp_linux_amd64.go
+++ b/vendor/modernc.org/libc/grp/grp_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_amd64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_amd64.go -pkgname grp', DO NOT EDIT.
package grp
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_GROUP = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -62,7 +63,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -77,11 +78,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.1 Group Database Access <grp.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -96,7 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -104,6 +105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -224,6 +226,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -246,9 +250,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -291,7 +308,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -406,7 +423,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -427,11 +444,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +467,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -484,7 +505,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -499,11 +520,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -518,45 +539,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -568,7 +608,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -589,7 +629,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -604,7 +644,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -619,78 +659,102 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -700,11 +764,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// For the Single Unix specification we must define this type here.
@@ -712,11 +771,11 @@ type Gid_t = X__gid_t /* grp.h:37:17 */
// The group structure.
type Group = struct {
- Fgr_name uintptr
- Fgr_passwd uintptr
- Fgr_gid X__gid_t
- _ [4]byte
- Fgr_mem uintptr
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid X__gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
} /* grp.h:42:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_linux_arm.go b/vendor/modernc.org/libc/grp/grp_linux_arm.go
index 50d2ba5d5..c475790e3 100644
--- a/vendor/modernc.org/libc/grp/grp_linux_arm.go
+++ b/vendor/modernc.org/libc/grp/grp_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_arm.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_arm.go -pkgname grp', DO NOT EDIT.
package grp
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_GROUP = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -52,7 +53,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -67,11 +68,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.1 Group Database Access <grp.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -86,7 +87,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -94,6 +95,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -214,6 +216,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -236,9 +240,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -253,7 +270,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -266,7 +283,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -281,7 +298,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -396,7 +413,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -417,7 +434,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -432,10 +453,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -450,7 +471,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -504,7 +525,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -519,11 +540,28 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -538,9 +576,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -555,41 +594,60 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -601,7 +659,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -623,7 +681,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -638,83 +696,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -724,11 +809,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// For the Single Unix specification we must define this type here.
@@ -742,4 +822,4 @@ type Group = struct {
Fgr_mem uintptr
} /* grp.h:42:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_linux_arm64.go b/vendor/modernc.org/libc/grp/grp_linux_arm64.go
index 1b001a3c9..661be98ca 100644
--- a/vendor/modernc.org/libc/grp/grp_linux_arm64.go
+++ b/vendor/modernc.org/libc/grp/grp_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_arm64.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_arm64.go -pkgname grp', DO NOT EDIT.
package grp
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_GROUP = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -62,7 +63,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -77,11 +78,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.1 Group Database Access <grp.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -96,7 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -104,6 +105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -224,6 +226,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -246,9 +250,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -291,7 +308,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -406,7 +423,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -427,9 +444,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -444,10 +465,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -462,7 +483,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -496,7 +517,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -511,7 +532,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -519,7 +540,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -534,11 +555,48 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -553,11 +611,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -572,41 +630,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -618,7 +678,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -639,7 +699,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -655,7 +715,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -668,78 +728,101 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -749,11 +832,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// For the Single Unix specification we must define this type here.
@@ -761,11 +839,11 @@ type Gid_t = X__gid_t /* grp.h:37:17 */
// The group structure.
type Group = struct {
- Fgr_name uintptr
- Fgr_passwd uintptr
- Fgr_gid X__gid_t
- _ [4]byte
- Fgr_mem uintptr
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid X__gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
} /* grp.h:42:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_linux_s390x.go b/vendor/modernc.org/libc/grp/grp_linux_s390x.go
index 808570516..405cea310 100644
--- a/vendor/modernc.org/libc/grp/grp_linux_s390x.go
+++ b/vendor/modernc.org/libc/grp/grp_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_linux_s390x.go -pkgname grp', DO NOT EDIT.
+// Code generated by 'ccgo grp/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 grp/grp_linux_s390x.go -pkgname grp', DO NOT EDIT.
package grp
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_GROUP = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -62,7 +63,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -77,11 +78,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.1 Group Database Access <grp.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -96,7 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -104,6 +105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -224,6 +226,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -246,9 +250,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -291,7 +308,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -406,7 +423,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -427,10 +444,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -445,7 +466,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -482,7 +503,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -497,11 +518,31 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -516,43 +557,45 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -564,7 +607,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -585,7 +628,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -600,7 +643,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -615,78 +658,102 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -696,11 +763,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// For the Single Unix specification we must define this type here.
@@ -708,11 +770,11 @@ type Gid_t = X__gid_t /* grp.h:37:17 */
// The group structure.
type Group = struct {
- Fgr_name uintptr
- Fgr_passwd uintptr
- Fgr_gid X__gid_t
- _ [4]byte
- Fgr_mem uintptr
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid X__gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
} /* grp.h:42:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/grp/grp_netbsd_amd64.go b/vendor/modernc.org/libc/grp/grp_netbsd_amd64.go
new file mode 100644
index 000000000..3c665ee0a
--- /dev/null
+++ b/vendor/modernc.org/libc/grp/grp_netbsd_amd64.go
@@ -0,0 +1,1596 @@
+// Code generated by 'ccgo grp/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 grp/grp_netbsd_amd64.go -pkgname grp', DO NOT EDIT.
+
+package grp
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ FD_SETSIZE = 256
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_GRP_H_ = 0
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PATH_GROUP = "/etc/group"
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+type Group = struct {
+ Fgr_name uintptr
+ Fgr_passwd uintptr
+ Fgr_gid X__gid_t
+ F__ccgo_pad1 [4]byte
+ Fgr_mem uintptr
+} /* grp.h:50:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/ioutil_linux.go b/vendor/modernc.org/libc/ioutil_linux.go
index 7b23807fe..608857f21 100644
--- a/vendor/modernc.org/libc/ioutil_linux.go
+++ b/vendor/modernc.org/libc/ioutil_linux.go
@@ -43,13 +43,14 @@ func nextRandom(x uintptr) {
copy((*RawMem)(unsafe.Pointer(x))[:6:6], fmt.Sprintf("%06d", int(1e9+r%1e9)%1e6))
}
-func tempFile(s, x uintptr) (fd, err int) {
+func tempFile(s, x uintptr, flags int32) (fd, err int) {
const maxTry = 10000
nconflict := 0
+ flags |= int32(os.O_RDWR | os.O_CREATE | os.O_EXCL | unix.O_LARGEFILE)
for i := 0; i < maxTry; i++ {
nextRandom(x)
fdcwd := fcntl.AT_FDCWD
- n, _, err := unix.Syscall6(unix.SYS_OPENAT, uintptr(fdcwd), s, uintptr(os.O_RDWR|os.O_CREATE|os.O_EXCL|unix.O_LARGEFILE), 0600, 0, 0)
+ n, _, err := unix.Syscall6(unix.SYS_OPENAT, uintptr(fdcwd), s, uintptr(flags), 0600, 0, 0)
if err == 0 {
return int(n), 0
}
diff --git a/vendor/modernc.org/libc/ioutil_netbsd.go b/vendor/modernc.org/libc/ioutil_netbsd.go
new file mode 100644
index 000000000..1628bfa3c
--- /dev/null
+++ b/vendor/modernc.org/libc/ioutil_netbsd.go
@@ -0,0 +1,65 @@
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE-GO file.
+
+// Modifications Copyright 2020 The Libc Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package libc // import "modernc.org/libc"
+
+import (
+ "fmt"
+ "os"
+ "sync"
+ "time"
+ "unsafe"
+
+ "golang.org/x/sys/unix"
+)
+
+// Random number state.
+// We generate random temporary file names so that there's a good
+// chance the file doesn't exist yet - keeps the number of tries in
+// TempFile to a minimum.
+var randState uint32
+var randStateMu sync.Mutex
+
+func reseed() uint32 {
+ return uint32(time.Now().UnixNano() + int64(os.Getpid()))
+}
+
+func nextRandom(x uintptr) {
+ randStateMu.Lock()
+ r := randState
+ if r == 0 {
+ r = reseed()
+ }
+ r = r*1664525 + 1013904223 // constants from Numerical Recipes
+ randState = r
+ randStateMu.Unlock()
+ copy((*RawMem)(unsafe.Pointer(x))[:6:6], fmt.Sprintf("%06d", int(1e9+r%1e9)%1e6))
+}
+
+func tempFile(s, x uintptr) (fd int, err error) {
+ const maxTry = 10000
+ nconflict := 0
+ for i := 0; i < maxTry; i++ {
+ nextRandom(x)
+ if fd, err = unix.Open(GoString(s), os.O_RDWR|os.O_CREATE|os.O_EXCL, 0600); err == nil {
+ return fd, nil
+ }
+
+ if !os.IsExist(err) {
+ return -1, err
+ }
+
+ if nconflict++; nconflict > 10 {
+ randStateMu.Lock()
+ randState = reseed()
+ nconflict = 0
+ randStateMu.Unlock()
+ }
+ }
+ return -1, err
+}
diff --git a/vendor/modernc.org/libc/langinfo/capi_darwin_amd64.go b/vendor/modernc.org/libc/langinfo/capi_darwin_amd64.go
index 265d7421e..7a8fd578e 100644
--- a/vendor/modernc.org/libc/langinfo/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/langinfo/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_darwin_amd64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_darwin_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_darwin_arm64.go b/vendor/modernc.org/libc/langinfo/capi_darwin_arm64.go
index a172f6d22..d619422cd 100644
--- a/vendor/modernc.org/libc/langinfo/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/langinfo/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_darwin_arm64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_darwin_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_linux_386.go b/vendor/modernc.org/libc/langinfo/capi_linux_386.go
index d3b3c3f57..5cc0cfba8 100644
--- a/vendor/modernc.org/libc/langinfo/capi_linux_386.go
+++ b/vendor/modernc.org/libc/langinfo/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_386.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_linux_amd64.go b/vendor/modernc.org/libc/langinfo/capi_linux_amd64.go
index b8e0421eb..27a2c4be6 100644
--- a/vendor/modernc.org/libc/langinfo/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/langinfo/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_amd64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_linux_arm.go b/vendor/modernc.org/libc/langinfo/capi_linux_arm.go
index 19d2c9be4..dd4ff49bb 100644
--- a/vendor/modernc.org/libc/langinfo/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/langinfo/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_arm.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_linux_arm64.go b/vendor/modernc.org/libc/langinfo/capi_linux_arm64.go
index 172997b63..de9629ff6 100644
--- a/vendor/modernc.org/libc/langinfo/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/langinfo/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_arm64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_linux_s390x.go b/vendor/modernc.org/libc/langinfo/capi_linux_s390x.go
index e21d22e9f..9e5b8d1e8 100644
--- a/vendor/modernc.org/libc/langinfo/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/langinfo/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_s390x.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_s390x.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/capi_netbsd_amd64.go b/vendor/modernc.org/libc/langinfo/capi_netbsd_amd64.go
new file mode 100644
index 000000000..c68878396
--- /dev/null
+++ b/vendor/modernc.org/libc/langinfo/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_netbsd_amd64.go -pkgname langinfo', DO NOT EDIT.
+
+package langinfo
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_darwin_amd64.go b/vendor/modernc.org/libc/langinfo/langinfo_darwin_amd64.go
index 279f18f92..821329077 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_darwin_amd64.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_darwin_amd64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_darwin_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
@@ -624,8 +624,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_darwin_arm64.go b/vendor/modernc.org/libc/langinfo/langinfo_darwin_arm64.go
index ad62f0077..e178c56df 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_darwin_arm64.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_darwin_arm64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_darwin_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_freebsd_amd64.go b/vendor/modernc.org/libc/langinfo/langinfo_freebsd_amd64.go
index 5c2d0c628..7616b6d8e 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_freebsd_amd64.go
@@ -646,8 +646,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_linux_386.go b/vendor/modernc.org/libc/langinfo/langinfo_linux_386.go
index 6576249d7..522bf5e64 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_linux_386.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_386.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
@@ -24,6 +24,7 @@ const (
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
X_LANGINFO_H = 1
X_NL_TYPES_H = 1
X_POSIX_C_SOURCE = 200809
@@ -36,7 +37,7 @@ const (
)
// Definition of locale category symbol values.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -51,7 +52,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Construct an `nl_item' value for `nl_langinfo' from a locale category
// (LC_*) and an item index within the category. Some code may depend on
@@ -524,7 +525,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Access to locale-dependent parameters.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -539,10 +540,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get the type definition.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -557,9 +558,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -574,7 +575,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -582,6 +583,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -702,6 +704,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -724,9 +728,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -741,7 +758,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -754,7 +771,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -769,7 +786,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -884,7 +901,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -905,10 +922,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -923,7 +944,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -972,7 +993,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -987,10 +1008,10 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1006,7 +1027,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_linux_amd64.go b/vendor/modernc.org/libc/langinfo/langinfo_linux_amd64.go
index 97f5d6e99..a368a0d4d 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_linux_amd64.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_amd64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
@@ -36,7 +36,7 @@ const (
)
// Definition of locale category symbol values.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -51,7 +51,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Construct an `nl_item' value for `nl_langinfo' from a locale category
// (LC_*) and an item index within the category. Some code may depend on
@@ -533,7 +533,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Access to locale-dependent parameters.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -548,10 +548,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get the type definition.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -566,9 +566,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -583,7 +583,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -591,6 +591,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -711,6 +712,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -733,9 +736,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -750,7 +766,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -763,7 +779,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -778,7 +794,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -893,7 +909,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -914,11 +930,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -933,7 +953,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -982,7 +1002,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -997,10 +1017,10 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1016,7 +1036,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_linux_arm.go b/vendor/modernc.org/libc/langinfo/langinfo_linux_arm.go
index c2522a10b..b05ebc918 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_linux_arm.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_arm.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
@@ -35,7 +35,7 @@ const (
)
// Definition of locale category symbol values.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -50,7 +50,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Construct an `nl_item' value for `nl_langinfo' from a locale category
// (LC_*) and an item index within the category. Some code may depend on
@@ -523,7 +523,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Access to locale-dependent parameters.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -538,10 +538,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get the type definition.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -556,9 +556,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -573,7 +573,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -581,6 +581,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -701,6 +702,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -723,9 +726,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -740,7 +756,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -753,7 +769,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -768,7 +784,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -883,7 +899,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -904,7 +920,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -919,10 +939,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -937,7 +957,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -1002,7 +1022,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1017,10 +1037,10 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1036,7 +1056,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1055,4 +1075,4 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_linux_arm64.go b/vendor/modernc.org/libc/langinfo/langinfo_linux_arm64.go
index 6530d1bbc..c5a6d14f5 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_linux_arm64.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_arm64.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
@@ -36,7 +36,7 @@ const (
)
// Definition of locale category symbol values.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -51,7 +51,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Construct an `nl_item' value for `nl_langinfo' from a locale category
// (LC_*) and an item index within the category. Some code may depend on
@@ -533,7 +533,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Access to locale-dependent parameters.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -548,10 +548,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get the type definition.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -566,9 +566,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -583,7 +583,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -591,6 +591,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -711,6 +712,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -733,9 +736,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -750,7 +766,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -763,7 +779,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -778,7 +794,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -893,7 +909,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -914,9 +930,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -931,10 +951,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -949,7 +969,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -983,7 +1003,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -998,7 +1018,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -1017,7 +1037,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1032,10 +1052,10 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1051,7 +1071,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1070,4 +1090,4 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_linux_s390x.go b/vendor/modernc.org/libc/langinfo/langinfo_linux_s390x.go
index e52fce8d3..4db92b39f 100644
--- a/vendor/modernc.org/libc/langinfo/langinfo_linux_s390x.go
+++ b/vendor/modernc.org/libc/langinfo/langinfo_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_linux_s390x.go -pkgname langinfo', DO NOT EDIT.
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_linux_s390x.go -pkgname langinfo', DO NOT EDIT.
package langinfo
@@ -36,7 +36,7 @@ const (
)
// Definition of locale category symbol values.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -51,7 +51,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Construct an `nl_item' value for `nl_langinfo' from a locale category
// (LC_*) and an item index within the category. Some code may depend on
@@ -533,7 +533,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Access to locale-dependent parameters.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -548,10 +548,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get the type definition.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -566,9 +566,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -583,7 +583,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -591,6 +591,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -711,6 +712,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -733,9 +736,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -750,7 +766,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -763,7 +779,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -778,7 +794,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -893,7 +909,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -914,10 +930,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -932,7 +952,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -980,7 +1000,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -995,10 +1015,10 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1014,7 +1034,7 @@ type Nl_item = int32 /* nl_types.h:36:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1033,4 +1053,4 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/langinfo/langinfo_netbsd_amd64.go b/vendor/modernc.org/libc/langinfo/langinfo_netbsd_amd64.go
new file mode 100644
index 000000000..8fee20376
--- /dev/null
+++ b/vendor/modernc.org/libc/langinfo/langinfo_netbsd_amd64.go
@@ -0,0 +1,189 @@
+// Code generated by 'ccgo langinfo/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 langinfo/langinfo_netbsd_amd64.go -pkgname langinfo', DO NOT EDIT.
+
+package langinfo
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ NL_CAT_LOCALE = 1
+ NL_SETD = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LANGINFO_H_ = 0
+ X_LP64 = 1
+ X_NL_TYPES_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $
+
+// -
+// Copyright (c) 1996 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by J.T. Conklin.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+type X__nl_cat_d = struct {
+ F__data uintptr
+ F__size int32
+ F__ccgo_pad1 [4]byte
+} /* nl_types.h:77:9 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $
+
+// -
+// Copyright (c) 1996 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by J.T. Conklin.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+type Nl_catd = uintptr /* nl_types.h:80:3 */
+
+type Nl_item = int64 /* nl_types.h:82:14 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/libc.go b/vendor/modernc.org/libc/libc.go
index 663073871..d2b979d1f 100644
--- a/vendor/modernc.org/libc/libc.go
+++ b/vendor/modernc.org/libc/libc.go
@@ -16,6 +16,7 @@ package libc // import "modernc.org/libc"
import (
"bufio"
+ crand "crypto/rand"
"fmt"
"math"
mbits "math/bits"
@@ -31,6 +32,8 @@ import (
"unsafe"
"github.com/mattn/go-isatty"
+ "modernc.org/libc/errno"
+ "modernc.org/libc/stdio"
"modernc.org/libc/sys/types"
"modernc.org/libc/time"
"modernc.org/libc/unistd"
@@ -216,40 +219,53 @@ func write(b []byte) (int, error) {
return len(b), nil
}
-func X__builtin_abort(t *TLS) { Xabort(t) }
-func X__builtin_abs(t *TLS, j int32) int32 { return Xabs(t, j) }
-func X__builtin_clzll(t *TLS, n uint64) int32 { return int32(mbits.LeadingZeros64(n)) }
-func X__builtin_constant_p_impl() { panic(todo("internal error: should never be called")) }
-func X__builtin_copysign(t *TLS, x, y float64) float64 { return Xcopysign(t, x, y) }
-func X__builtin_copysignf(t *TLS, x, y float32) float32 { return Xcopysignf(t, x, y) }
-func X__builtin_exit(t *TLS, status int32) { Xexit(t, status) }
-func X__builtin_expect(t *TLS, exp, c long) long { return exp }
-func X__builtin_fabs(t *TLS, x float64) float64 { return Xfabs(t, x) }
-func X__builtin_free(t *TLS, ptr uintptr) { Xfree(t, ptr) }
-func X__builtin_huge_val(t *TLS) float64 { return math.Inf(1) }
-func X__builtin_huge_valf(t *TLS) float32 { return float32(math.Inf(1)) }
-func X__builtin_inf(t *TLS) float64 { return math.Inf(1) }
-func X__builtin_inff(t *TLS) float32 { return float32(math.Inf(1)) }
-func X__builtin_malloc(t *TLS, size types.Size_t) uintptr { return Xmalloc(t, size) }
-func X__builtin_memcmp(t *TLS, s1, s2 uintptr, n types.Size_t) int32 { return Xmemcmp(t, s1, s2, n) }
-func X__builtin_nanf(t *TLS, s uintptr) float32 { return float32(math.NaN()) }
-func X__builtin_prefetch(t *TLS, addr, args uintptr) {}
-func X__builtin_printf(t *TLS, s, args uintptr) int32 { return Xprintf(t, s, args) }
-func X__builtin_strchr(t *TLS, s uintptr, c int32) uintptr { return Xstrchr(t, s, c) }
-func X__builtin_strcmp(t *TLS, s1, s2 uintptr) int32 { return Xstrcmp(t, s1, s2) }
-func X__builtin_strcpy(t *TLS, dest, src uintptr) uintptr { return Xstrcpy(t, dest, src) }
-func X__builtin_strlen(t *TLS, s uintptr) types.Size_t { return Xstrlen(t, s) }
-func X__builtin_trap(t *TLS) { Xabort(t) }
-func X__isnan(t *TLS, arg float64) int32 { return X__builtin_isnan(t, arg) }
-func X__isnanf(t *TLS, arg float32) int32 { return Xisnanf(t, arg) }
-func X__isnanl(t *TLS, arg float64) int32 { return Xisnanl(t, arg) }
-func Xvfprintf(t *TLS, stream, format, ap uintptr) int32 { return Xfprintf(t, stream, format, ap) }
+func X__builtin_abort(t *TLS) { Xabort(t) }
+func X__builtin_abs(t *TLS, j int32) int32 { return Xabs(t, j) }
+func X__builtin_clz(t *TLS, n uint32) int32 { return int32(mbits.LeadingZeros32(n)) }
+func X__builtin_clzl(t *TLS, n ulong) int32 { return int32(mbits.LeadingZeros64(uint64(n))) }
+func X__builtin_clzll(t *TLS, n uint64) int32 { return int32(mbits.LeadingZeros64(n)) }
+func X__builtin_constant_p_impl() { panic(todo("internal error: should never be called")) }
+func X__builtin_copysign(t *TLS, x, y float64) float64 { return Xcopysign(t, x, y) }
+func X__builtin_copysignf(t *TLS, x, y float32) float32 { return Xcopysignf(t, x, y) }
+func X__builtin_copysignl(t *TLS, x, y float64) float64 { return Xcopysign(t, x, y) }
+func X__builtin_exit(t *TLS, status int32) { Xexit(t, status) }
+func X__builtin_expect(t *TLS, exp, c long) long { return exp }
+func X__builtin_fabs(t *TLS, x float64) float64 { return Xfabs(t, x) }
+func X__builtin_free(t *TLS, ptr uintptr) { Xfree(t, ptr) }
+func X__builtin_getentropy(t *TLS, buf uintptr, n types.Size_t) int32 { return Xgetentropy(t, buf, n) }
+func X__builtin_huge_val(t *TLS) float64 { return math.Inf(1) }
+func X__builtin_huge_valf(t *TLS) float32 { return float32(math.Inf(1)) }
+func X__builtin_inf(t *TLS) float64 { return math.Inf(1) }
+func X__builtin_inff(t *TLS) float32 { return float32(math.Inf(1)) }
+func X__builtin_infl(t *TLS) float64 { return math.Inf(1) }
+func X__builtin_malloc(t *TLS, size types.Size_t) uintptr { return Xmalloc(t, size) }
+func X__builtin_memcmp(t *TLS, s1, s2 uintptr, n types.Size_t) int32 { return Xmemcmp(t, s1, s2, n) }
+func X__builtin_nan(t *TLS, s uintptr) float64 { return math.NaN() }
+func X__builtin_nanf(t *TLS, s uintptr) float32 { return float32(math.NaN()) }
+func X__builtin_nanl(t *TLS, s uintptr) float64 { return math.NaN() }
+func X__builtin_prefetch(t *TLS, addr, args uintptr) {}
+func X__builtin_printf(t *TLS, s, args uintptr) int32 { return Xprintf(t, s, args) }
+func X__builtin_strchr(t *TLS, s uintptr, c int32) uintptr { return Xstrchr(t, s, c) }
+func X__builtin_strcmp(t *TLS, s1, s2 uintptr) int32 { return Xstrcmp(t, s1, s2) }
+func X__builtin_strcpy(t *TLS, dest, src uintptr) uintptr { return Xstrcpy(t, dest, src) }
+func X__builtin_strlen(t *TLS, s uintptr) types.Size_t { return Xstrlen(t, s) }
+func X__builtin_trap(t *TLS) { Xabort(t) }
+func X__isnan(t *TLS, arg float64) int32 { return X__builtin_isnan(t, arg) }
+func X__isnanf(t *TLS, arg float32) int32 { return Xisnanf(t, arg) }
+func X__isnanl(t *TLS, arg float64) int32 { return Xisnanl(t, arg) }
+
+func Xvfprintf(t *TLS, stream, format, ap uintptr) int32 { return Xfprintf(t, stream, format, ap) }
// int __builtin_popcount (unsigned int x)
func X__builtin_popcount(t *TLS, x uint32) int32 {
return int32(mbits.OnesCount32(x))
}
+// int __builtin_popcountl (unsigned long x)
+func X__builtin_popcountl(t *TLS, x ulong) int32 {
+ return int32(mbits.OnesCount64(uint64(x)))
+}
+
// char * __builtin___strcpy_chk (char *dest, const char *src, size_t os);
func X__builtin___strcpy_chk(t *TLS, dest, src uintptr, os types.Size_t) uintptr {
return Xstrcpy(t, dest, src)
@@ -436,7 +452,7 @@ func Xvprintf(t *TLS, s, ap uintptr) int32 { return Xprintf(t, s, ap) }
// int vsprintf(char *str, const char *format, va_list ap);
func Xvsprintf(t *TLS, str, format, va uintptr) int32 {
- panic(todo(""))
+ return Xsprintf(t, str, format, va)
}
// int vsnprintf(char *str, size_t size, const char *format, va_list ap);
@@ -501,21 +517,22 @@ func Xprintf(t *TLS, format, args uintptr) int32 {
// int snprintf(char *str, size_t size, const char *format, ...);
func Xsnprintf(t *TLS, str uintptr, size types.Size_t, format, args uintptr) (r int32) {
- switch size {
- case 0:
- return 0
- case 1:
- *(*byte)(unsafe.Pointer(str)) = 0
+ if format == 0 {
return 0
}
b := printf(format, args)
+ r = int32(len(b))
+ if size == 0 {
+ return r
+ }
+
if len(b)+1 > int(size) {
b = b[:size-1]
}
- r = int32(len(b))
- copy((*RawMem)(unsafe.Pointer(str))[:r:r], b)
- *(*byte)(unsafe.Pointer(str + uintptr(r))) = 0
+ n := len(b)
+ copy((*RawMem)(unsafe.Pointer(str))[:n:n], b)
+ *(*byte)(unsafe.Pointer(str + uintptr(n))) = 0
return r
}
@@ -751,8 +768,8 @@ func Xmemset(t *TLS, s uintptr, c int32, n types.Size_t) uintptr {
if n != 0 {
c := byte(c & 0xff)
- //this will make sure that on platforms where they are not equally alligned
- //we clear out the first few bytes until allignment
+ // This will make sure that on platforms where they are not equally aligned we
+ // clear out the first few bytes until allignment
bytesBeforeAllignment := s % unsafe.Alignof(uint64(0))
if bytesBeforeAllignment > uintptr(n) {
bytesBeforeAllignment = uintptr(n)
@@ -781,13 +798,9 @@ func Xmemset(t *TLS, s uintptr, c int32, n types.Size_t) uintptr {
// void *memcpy(void *dest, const void *src, size_t n);
func Xmemcpy(t *TLS, dest, src uintptr, n types.Size_t) (r uintptr) {
- if n == 0 {
- return dest
+ if n != 0 {
+ copy((*RawMem)(unsafe.Pointer(dest))[:n:n], (*RawMem)(unsafe.Pointer(src))[:n:n])
}
-
- s := (*RawMem)(unsafe.Pointer(src))[:n:n]
- d := (*RawMem)(unsafe.Pointer(dest))[:n:n]
- copy(d, s)
return dest
}
@@ -1003,40 +1016,6 @@ func Xstrcasecmp(t *TLS, s1, s2 uintptr) int32 {
}
}
-var __ctype_b_table = [...]uint16{ //TODO use symbolic constants
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
- 0x0002, 0x2003, 0x2002, 0x2002, 0x2002, 0x2002, 0x0002, 0x0002,
- 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
- 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
- 0x6001, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004,
- 0xc004, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004,
- 0xd808, 0xd808, 0xd808, 0xd808, 0xd808, 0xd808, 0xd808, 0xd808,
- 0xd808, 0xd808, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004,
- 0xc004, 0xd508, 0xd508, 0xd508, 0xd508, 0xd508, 0xd508, 0xc508,
- 0xc508, 0xc508, 0xc508, 0xc508, 0xc508, 0xc508, 0xc508, 0xc508,
- 0xc508, 0xc508, 0xc508, 0xc508, 0xc508, 0xc508, 0xc508, 0xc508,
- 0xc508, 0xc508, 0xc508, 0xc004, 0xc004, 0xc004, 0xc004, 0xc004,
- 0xc004, 0xd608, 0xd608, 0xd608, 0xd608, 0xd608, 0xd608, 0xc608,
- 0xc608, 0xc608, 0xc608, 0xc608, 0xc608, 0xc608, 0xc608, 0xc608,
- 0xc608, 0xc608, 0xc608, 0xc608, 0xc608, 0xc608, 0xc608, 0xc608,
- 0xc608, 0xc608, 0xc608, 0xc004, 0xc004, 0xc004, 0xc004, 0x0002,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-}
-
-var ptable = uintptr(unsafe.Pointer(&__ctype_b_table[128]))
-
-// const unsigned short * * __ctype_b_loc (void);
-func X__ctype_b_loc(t *TLS) uintptr {
- return uintptr(unsafe.Pointer(&ptable))
-}
-
func Xntohs(t *TLS, netshort uint16) uint16 {
return uint16((*[2]byte)(unsafe.Pointer(&netshort))[0])<<8 | uint16((*[2]byte)(unsafe.Pointer(&netshort))[1])
}
@@ -1267,27 +1246,124 @@ func Xclock_gettime(t *TLS, clk_id int32, tp uintptr) int32 {
panic(todo(""))
}
-// int posix_fadvise(int fd, off_t offset, off_t len, int advice);
-func Xposix_fadvise(t *TLS, fd int32, offset, len types.Off_t, advice int32) int32 {
- panic(todo(""))
+// AtExit will attempt to run f at process exit. The execution cannot be
+// guaranteed, neither its ordering with respect to any other handlers
+// registered by AtExit.
+func AtExit(f func()) {
+ atExitMu.Lock()
+ atExit = append(atExit, f)
+ atExitMu.Unlock()
}
-// int initstate_r(unsigned int seed, char *statebuf,
-// size_t statelen, struct random_data *buf);
-func Xinitstate_r(t *TLS, seed uint32, statebuf uintptr, statelen types.Size_t, buf uintptr) int32 {
+func X__ccgo_dmesg(t *TLS, fmt uintptr, va uintptr) {
+ if dmesgs {
+ dmesg("%s", printf(fmt, va))
+ }
+}
+
+// int getentropy(void *buffer, size_t length);
+//
+// The getentropy() function writes length bytes of high-quality random data
+// to the buffer starting at the location pointed to by buffer. The maximum
+// permitted value for the length argument is 256.
+func Xgetentropy(t *TLS, buffer uintptr, length size_t) int32 {
+ const max = 256
+ switch {
+ case length == 0:
+ return 0
+ case buffer == 0:
+ t.setErrno(errno.EFAULT)
+ return -1
+ case length > max:
+ t.setErrno(errno.EIO)
+ return -1
+ }
+
+ if _, err := crand.Read((*RawMem)(unsafe.Pointer(buffer))[:length]); err != nil {
+ t.setErrno(errno.EIO)
+ return -1
+ }
+
+ return 0
+}
+
+// void * reallocarray(void *ptr, size_t nmemb, size_t size);
+func Xreallocarray(t *TLS, ptr uintptr, nmemb, size size_t) uintptr {
+ hi, lo := mathutil.MulUint128_64(uint64(nmemb), uint64(size))
+ if hi != 0 || lo > uint64(unsafe.Sizeof(RawMem{})) {
+ t.setErrno(errno.ENOMEM)
+ return 0
+ }
+
+ return Xrealloc(t, ptr, size_t(lo))
+}
+
+// int setjmp(jmp_buf env);
+func Xsetjmp(t *TLS, env uintptr) int32 {
+ return 0 //TODO
+}
+
+// void longjmp(jmp_buf env, int val);
+func Xlongjmp(t *TLS, env uintptr, val int32) {
panic(todo(""))
}
-// int random_r(struct random_data *buf, int32_t *result);
-func Xrandom_r(t *TLS, buf, result uintptr) int32 {
+// https://linux.die.net/man/3/_setjmp
+//
+// The _longjmp() and _setjmp() functions shall be equivalent to longjmp() and
+// setjmp(), respectively, with the additional restriction that _longjmp() and
+// _setjmp() shall not manipulate the signal mask.
+
+// int _setjmp(jmp_buf env);
+func X_setjmp(t *TLS, env uintptr) int32 {
+ return 0 //TODO
+}
+
+// void _longjmp(jmp_buf env, int val);
+func X_longjmp(t *TLS, env uintptr, val int32) {
panic(todo(""))
}
-// AtExit will attempt to run f at process exit. The execution cannot be
-// guaranteed, neither its ordering with respect to any other handlers
-// registered by AtExit.
-func AtExit(f func()) {
- atExitMu.Lock()
- atExit = append(atExit, f)
- atExitMu.Unlock()
+// unsigned __sync_add_and_fetch_uint32(*unsigned, unsigned)
+func X__sync_add_and_fetch_uint32(t *TLS, p uintptr, v uint32) uint32 {
+ return atomic.AddUint32((*uint32)(unsafe.Pointer(p)), v)
+}
+
+// unsigned __sync_sub_and_fetch_uint32(*unsigned, unsigned)
+func X__sync_sub_and_fetch_uint32(t *TLS, p uintptr, v uint32) uint32 {
+ return atomic.AddUint32((*uint32)(unsafe.Pointer(p)), -v)
+}
+
+// int sched_yield(void);
+func Xsched_yield(t *TLS) {
+ runtime.Gosched()
+}
+
+// int getc(FILE *stream);
+func Xgetc(t *TLS, stream uintptr) int32 {
+ return Xfgetc(t, stream)
+}
+
+// char *fgets(char *s, int size, FILE *stream);
+func Xfgets(t *TLS, s uintptr, size int32, stream uintptr) uintptr {
+ var b []byte
+out:
+ for ; size > 0; size-- {
+ switch c := Xfgetc(t, stream); c {
+ case '\n':
+ b = append(b, byte(c))
+ break out
+ case stdio.EOF:
+ break out
+ default:
+ b = append(b, byte(c))
+ }
+ }
+ if len(b) == 0 {
+ return 0
+ }
+
+ b = append(b, 0)
+ copy((*RawMem)(unsafe.Pointer(s))[:len(b):len(b)], b)
+ return s
}
diff --git a/vendor/modernc.org/libc/libc_darwin.go b/vendor/modernc.org/libc/libc_darwin.go
index baa52bbed..9c86d7c60 100644
--- a/vendor/modernc.org/libc/libc_darwin.go
+++ b/vendor/modernc.org/libc/libc_darwin.go
@@ -6,6 +6,7 @@ package libc // import "modernc.org/libc"
import (
"bufio"
+ crand "crypto/rand"
"encoding/hex"
"fmt"
"io"
@@ -16,20 +17,19 @@ import (
"strings"
"syscall"
gotime "time"
+ "unicode"
"unsafe"
"golang.org/x/sys/unix"
"modernc.org/libc/errno"
"modernc.org/libc/fcntl"
"modernc.org/libc/fts"
-
gonetdb "modernc.org/libc/honnef.co/go/netdb"
"modernc.org/libc/langinfo"
"modernc.org/libc/limits"
"modernc.org/libc/netdb"
"modernc.org/libc/netinet/in"
"modernc.org/libc/pwd"
-
"modernc.org/libc/signal"
"modernc.org/libc/stdio"
"modernc.org/libc/sys/socket"
@@ -38,6 +38,7 @@ import (
"modernc.org/libc/termios"
"modernc.org/libc/time"
"modernc.org/libc/unistd"
+ "modernc.org/libc/wctype"
)
const (
@@ -58,6 +59,8 @@ var X__stderrp = Xstdout
var X__stdinp = Xstdin
var X__stdoutp = Xstdout
+var startTime = gotime.Now() // For clock(3)
+
type file uintptr
func (f file) fd() int32 { return int32((*stdio.FILE)(unsafe.Pointer(f)).F_file) }
@@ -217,44 +220,15 @@ func Xgetrusage(t *TLS, who int32, usage uintptr) int32 {
// return 0
}
-// char *fgets(char *s, int size, FILE *stream);
-func Xfgets(t *TLS, s uintptr, size int32, stream uintptr) uintptr {
+// int fgetc(FILE *stream);
+func Xfgetc(t *TLS, stream uintptr) int32 {
fd := int((*stdio.FILE)(unsafe.Pointer(stream)).F_file)
- var b []byte
- buf := [1]byte{}
- for ; size > 0; size-- {
- n, err := unix.Read(fd, buf[:])
- if n != 0 {
- b = append(b, buf[0])
- if buf[0] == '\n' {
- b = append(b, 0)
- copy((*RawMem)(unsafe.Pointer(s))[:len(b):len(b)], b)
- return s
- }
-
- continue
- }
-
- switch {
- case n == 0 && err == nil && len(b) == 0:
- return 0
- default:
- panic(todo(""))
- }
-
- // if err == nil {
- // panic("internal error")
- // }
-
- // if len(b) != 0 {
- // b = append(b, 0)
- // copy((*RawMem)(unsafe.Pointer(s)[:len(b)]), b)
- // return s
- // }
-
- // t.setErrno(err)
+ var buf [1]byte
+ if n, _ := unix.Read(fd, buf[:]); n != 0 {
+ return int32(buf[0])
}
- panic(todo(""))
+
+ return stdio.EOF
}
// int lstat(const char *pathname, struct stat *statbuf);
@@ -332,7 +306,7 @@ func Xlocaltime_r(_ *TLS, timep, result uintptr) uintptr {
func Xopen(t *TLS, pathname uintptr, flags int32, args uintptr) int32 {
var mode types.Mode_t
if args != 0 {
- mode = *(*types.Mode_t)(unsafe.Pointer(args))
+ mode = (types.Mode_t)(VaUint32(&args))
}
fd, err := unix.Open(GoString(pathname), int(flags), uint32(mode))
if err != nil {
@@ -530,13 +504,12 @@ func Xfchmod(t *TLS, fd int32, mode types.Mode_t) int32 {
// int fchown(int fd, uid_t owner, gid_t group);
func Xfchown(t *TLS, fd int32, owner types.Uid_t, group types.Gid_t) int32 {
- panic(todo(""))
- // if _, _, err := unix.Syscall(unix.SYS_FCHOWN, uintptr(fd), uintptr(owner), uintptr(group)); err != 0 {
- // t.setErrno(err)
- // return -1
- // }
+ if _, _, err := unix.Syscall(unix.SYS_FCHOWN, uintptr(fd), uintptr(owner), uintptr(group)); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
- // return 0
+ return 0
}
// uid_t geteuid(void);
@@ -1695,21 +1668,6 @@ func Xferror(t *TLS, stream uintptr) int32 {
return Bool32(file(stream).err())
}
-// int fgetc(FILE *stream);
-func Xfgetc(t *TLS, stream uintptr) int32 {
- panic(todo(""))
-}
-
-// // int getc(FILE *stream);
-// func Xgetc(t *TLS, stream uintptr) int32 {
-// return Xfgetc(t, stream)
-// }
-
-// FILE *fdopen(int fd, const char *mode);
-func Xfdopen(t *TLS, fd int32, mode uintptr) uintptr {
- panic(todo(""))
-}
-
// int fputs(const char *s, FILE *stream);
func Xfputs(t *TLS, s, stream uintptr) int32 {
panic(todo(""))
@@ -2129,3 +2087,72 @@ func Xsscanf(t *TLS, str, format, va uintptr) int32 {
// }
return r
}
+
+// int posix_fadvise(int fd, off_t offset, off_t len, int advice);
+func Xposix_fadvise(t *TLS, fd int32, offset, len types.Off_t, advice int32) int32 {
+ panic(todo(""))
+}
+
+// clock_t clock(void);
+func Xclock(t *TLS) time.Clock_t {
+ return time.Clock_t(gotime.Since(startTime) * gotime.Duration(time.CLOCKS_PER_SEC) / gotime.Second)
+}
+
+// int iswspace(wint_t wc);
+func Xiswspace(t *TLS, wc wctype.Wint_t) int32 {
+ return Bool32(unicode.IsSpace(rune(wc)))
+}
+
+// int iswalnum(wint_t wc);
+func Xiswalnum(t *TLS, wc wctype.Wint_t) int32 {
+ return Bool32(unicode.IsLetter(rune(wc)) || unicode.IsNumber(rune(wc)))
+}
+
+// void arc4random_buf(void *buf, size_t nbytes);
+func Xarc4random_buf(t *TLS, buf uintptr, buflen size_t) {
+ if _, err := crand.Read((*RawMem)(unsafe.Pointer(buf))[:buflen]); err != nil {
+ panic(todo(""))
+ }
+}
+
+func X__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:93:5: */
+ return (int32((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & uint32(3)))
+}
+
+func X__ccgo_getMutexType(tls *TLS, m uintptr) int32 { /* pthread_mutex_lock.c:3:5: */
+ return (*(*int32)(unsafe.Pointer((m /* &.__u */ /* &.__i */))) & 15)
+}
+
+func X__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:3:5: */
+ return *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4))
+}
+
+func Xpthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) int32 { /* pthread_attr_get.c:7:5: */
+ *(*int32)(unsafe.Pointer(state)) = *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4))
+ return 0
+}
+
+func Xpthread_attr_setdetachstate(tls *TLS, a uintptr, state int32) int32 { /* pthread_attr_setdetachstate.c:3:5: */
+ if uint32(state) > 1 {
+ return 22
+ }
+ *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4)) = state
+ return 0
+}
+
+func Xpthread_mutexattr_destroy(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_destroy.c:3:5: */
+ return 0
+}
+
+func Xpthread_mutexattr_init(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_init.c:3:5: */
+ *(*pthread_mutexattr_t)(unsafe.Pointer(a)) = pthread_mutexattr_t{}
+ return 0
+}
+
+func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pthread_mutexattr_settype.c:3:5: */
+ if uint32(type1) > uint32(2) {
+ return 22
+ }
+ (*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr = (((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & Uint32FromInt32(CplInt32(3))) | uint32(type1))
+ return 0
+}
diff --git a/vendor/modernc.org/libc/libc_freebsd.go b/vendor/modernc.org/libc/libc_freebsd.go
index 9f27366f8..2e7286d9d 100644
--- a/vendor/modernc.org/libc/libc_freebsd.go
+++ b/vendor/modernc.org/libc/libc_freebsd.go
@@ -11,7 +11,6 @@ import (
"os"
"os/exec"
"path/filepath"
- "runtime"
"runtime/debug"
"strconv"
"strings"
@@ -29,6 +28,7 @@ import (
"modernc.org/libc/limits"
"modernc.org/libc/netdb"
"modernc.org/libc/netinet/in"
+ "modernc.org/libc/pthread"
"modernc.org/libc/pwd"
"modernc.org/libc/signal"
"modernc.org/libc/stdio"
@@ -138,44 +138,15 @@ func Xgetrusage(t *TLS, who int32, usage uintptr) int32 {
return 0
}
-// char *fgets(char *s, int size, FILE *stream);
-func Xfgets(t *TLS, s uintptr, size int32, stream uintptr) uintptr {
+// int fgetc(FILE *stream);
+func Xfgetc(t *TLS, stream uintptr) int32 {
fd := int((*stdio.FILE)(unsafe.Pointer(stream)).F_file)
- var b []byte
- buf := [1]byte{}
- for ; size > 0; size-- {
- n, err := unix.Read(fd, buf[:])
- if n != 0 {
- b = append(b, buf[0])
- if buf[0] == '\n' {
- b = append(b, 0)
- copy((*RawMem)(unsafe.Pointer(s))[:len(b):len(b)], b)
- return s
- }
-
- continue
- }
-
- switch {
- case n == 0 && err == nil && len(b) == 0:
- return 0
- default:
- panic(todo(""))
- }
-
- // if err == nil {
- // panic("internal error")
- // }
-
- // if len(b) != 0 {
- // b = append(b, 0)
- // copy((*RawMem)(unsafe.Pointer(s)[:len(b)]), b)
- // return s
- // }
-
- // t.setErrno(err)
+ var buf [1]byte
+ if n, _ := unix.Read(fd, buf[:]); n != 0 {
+ return int32(buf[0])
}
- panic(todo(""))
+
+ return stdio.EOF
}
// int lstat(const char *pathname, struct stat *statbuf);
@@ -238,7 +209,7 @@ func Xopen(t *TLS, pathname uintptr, flags int32, args uintptr) int32 {
func Xopen64(t *TLS, pathname uintptr, flags int32, args uintptr) int32 {
var mode types.Mode_t
if args != 0 {
- mode = *(*types.Mode_t)(unsafe.Pointer(args))
+ mode = (types.Mode_t)(VaUint32(&args))
}
fdcwd := fcntl.AT_FDCWD
n, _, err := unix.Syscall6(unix.SYS_OPENAT, uintptr(fdcwd), pathname, uintptr(flags), uintptr(mode), 0, 0)
@@ -1742,16 +1713,6 @@ func Xferror(t *TLS, stream uintptr) int32 {
return Bool32(file(stream).err())
}
-// int fgetc(FILE *stream);
-func Xfgetc(t *TLS, stream uintptr) int32 {
- panic(todo(""))
-}
-
-// int getc(FILE *stream);
-func Xgetc(t *TLS, stream uintptr) int32 {
- return Xfgetc(t, stream)
-}
-
// int ungetc(int c, FILE *stream);
func Xungetc(t *TLS, c int32, stream uintptr) int32 {
panic(todo(""))
@@ -1762,11 +1723,6 @@ func Xfscanf(t *TLS, stream, format, va uintptr) int32 {
panic(todo(""))
}
-// FILE *fdopen(int fd, const char *mode);
-func Xfdopen(t *TLS, fd int32, mode uintptr) uintptr {
- panic(todo(""))
-}
-
// int fputs(const char *s, FILE *stream);
func Xfputs(t *TLS, s, stream uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_WRITE, uintptr(file(stream).fd()), s, uintptr(Xstrlen(t, s))); err != 0 {
@@ -1931,11 +1887,6 @@ func X__isoc99_sscanf(t *TLS, str, format, va uintptr) int32 {
return r
}
-// int sched_yield(void);
-func Xsched_yield(t *TLS) {
- runtime.Gosched()
-}
-
var ctimeStaticBuf [32]byte
// char *ctime(const time_t *timep);
@@ -2118,3 +2069,76 @@ func Xmmap(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, off
}
return data
}
+
+const PTHREAD_MUTEX_DEFAULT = 0
+
+func X__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:93:5: */
+ return (int32((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & uint32(3)))
+}
+
+func X__ccgo_getMutexType(tls *TLS, m uintptr) int32 { /* pthread_mutex_lock.c:3:5: */
+ return (*(*int32)(unsafe.Pointer((m /* &.__u */ /* &.__i */))) & 15)
+}
+
+func X__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:3:5: */
+ return *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4))
+}
+
+func Xpthread_attr_init(t *TLS, pAttr uintptr) int32 {
+ *(*pthread.Pthread_attr_t)(unsafe.Pointer(pAttr)) = pthread.Pthread_attr_t(0)
+ return 0
+}
+
+// The pthread_mutex_init() function shall initialize the mutex referenced by
+// mutex with attributes specified by attr. If attr is NULL, the default mutex
+// attributes are used; the effect shall be the same as passing the address of
+// a default mutex attributes object. Upon successful initialization, the state
+// of the mutex becomes initialized and unlocked.
+//
+// If successful, the pthread_mutex_destroy() and pthread_mutex_init()
+// functions shall return zero; otherwise, an error number shall be returned to
+// indicate the error.
+//
+// int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
+func Xpthread_mutex_init(t *TLS, pMutex, pAttr uintptr) int32 {
+ typ := PTHREAD_MUTEX_DEFAULT
+ if pAttr != 0 {
+ typ = int(X__ccgo_pthreadMutexattrGettype(t, pAttr))
+ }
+ mutexesMu.Lock()
+
+ defer mutexesMu.Unlock()
+
+ mutexes[pMutex] = newMutex(typ)
+ return 0
+}
+
+func Xpthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) int32 { /* pthread_attr_get.c:7:5: */
+ *(*int32)(unsafe.Pointer(state)) = *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4))
+ return 0
+}
+
+func Xpthread_attr_setdetachstate(tls *TLS, a uintptr, state int32) int32 { /* pthread_attr_setdetachstate.c:3:5: */
+ if uint32(state) > 1 {
+ return 22
+ }
+ *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4)) = state
+ return 0
+}
+
+func Xpthread_mutexattr_destroy(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_destroy.c:3:5: */
+ return 0
+}
+
+func Xpthread_mutexattr_init(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_init.c:3:5: */
+ *(*pthread_mutexattr_t)(unsafe.Pointer(a)) = pthread_mutexattr_t{}
+ return 0
+}
+
+func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pthread_mutexattr_settype.c:3:5: */
+ if uint32(type1) > uint32(2) {
+ return 22
+ }
+ (*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr = (((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & Uint32FromInt32(CplInt32(3))) | uint32(type1))
+ return 0
+}
diff --git a/vendor/modernc.org/libc/libc_linux.go b/vendor/modernc.org/libc/libc_linux.go
index aaec3da68..991a98c8e 100644
--- a/vendor/modernc.org/libc/libc_linux.go
+++ b/vendor/modernc.org/libc/libc_linux.go
@@ -6,18 +6,22 @@ package libc // import "modernc.org/libc"
import (
"bufio"
+ "encoding/hex"
"fmt"
+ "math"
+ "math/rand"
"os"
"os/exec"
"path/filepath"
- "runtime"
"runtime/debug"
"strconv"
"strings"
+ "sync"
"syscall"
"time"
"unsafe"
+ guuid "github.com/google/uuid"
"golang.org/x/sys/unix"
"modernc.org/libc/errno"
"modernc.org/libc/fcntl"
@@ -31,16 +35,19 @@ import (
"modernc.org/libc/pwd"
"modernc.org/libc/signal"
"modernc.org/libc/stdio"
+ "modernc.org/libc/stdlib"
"modernc.org/libc/sys/socket"
"modernc.org/libc/sys/stat"
"modernc.org/libc/sys/types"
"modernc.org/libc/termios"
ctime "modernc.org/libc/time"
"modernc.org/libc/unistd"
+ "modernc.org/libc/uuid/uuid"
)
var (
in6_addr_any in.In6_addr
+ _ = X__ctype_b_loc
)
type (
@@ -69,6 +76,7 @@ func newFile(t *TLS, fd int32) uintptr {
if p == 0 {
return 0
}
+
file(p).setFd(fd)
return p
}
@@ -106,46 +114,6 @@ func Xgetrusage(t *TLS, who int32, usage uintptr) int32 {
return 0
}
-// char *fgets(char *s, int size, FILE *stream);
-func Xfgets(t *TLS, s uintptr, size int32, stream uintptr) uintptr {
- fd := int((*stdio.FILE)(unsafe.Pointer(stream)).F_fileno)
- var b []byte
- buf := [1]byte{}
- for ; size > 0; size-- {
- n, err := unix.Read(fd, buf[:])
- if n != 0 {
- b = append(b, buf[0])
- if buf[0] == '\n' {
- b = append(b, 0)
- copy((*RawMem)(unsafe.Pointer(s))[:len(b):len(b)], b)
- return s
- }
-
- continue
- }
-
- switch {
- case n == 0 && err == nil && len(b) == 0:
- return 0
- default:
- panic(todo(""))
- }
-
- // if err == nil {
- // panic("internal error")
- // }
-
- // if len(b) != 0 {
- // b = append(b, 0)
- // copy((*RawMem)(unsafe.Pointer(s)[:len(b)]), b)
- // return s
- // }
-
- // t.setErrno(err)
- }
- panic(todo(""))
-}
-
// int lstat(const char *pathname, struct stat *statbuf);
func Xlstat(t *TLS, pathname, statbuf uintptr) int32 {
return Xlstat64(t, pathname, statbuf)
@@ -223,7 +191,7 @@ func Xopen64(t *TLS, pathname uintptr, flags int32, args uintptr) int32 {
//TODO- flags |= fcntl.O_LARGEFILE
var mode types.Mode_t
if args != 0 {
- mode = *(*types.Mode_t)(unsafe.Pointer(args))
+ mode = (types.Mode_t)(VaUint32(&args))
}
fdcwd := fcntl.AT_FDCWD
n, _, err := unix.Syscall6(unix.SYS_OPENAT, uintptr(fdcwd), pathname, uintptr(flags|unix.O_LARGEFILE), uintptr(mode), 0, 0)
@@ -1264,7 +1232,27 @@ func Xmkstemps64(t *TLS, template uintptr, suffixlen int32) int32 {
}
}
- fd, err := tempFile(template, x)
+ fd, err := tempFile(template, x, 0)
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return int32(fd)
+}
+
+// int mkostemp(char *template, int flags);
+func Xmkostemp(t *TLS, template uintptr, flags int32) int32 {
+ len := uintptr(Xstrlen(t, template))
+ x := template + uintptr(len-6)
+ for i := uintptr(0); i < 6; i++ {
+ if *(*byte)(unsafe.Pointer(x + i)) != 'X' {
+ t.setErrno(errno.EINVAL)
+ return -1
+ }
+ }
+
+ fd, err := tempFile(template, x, flags)
if err != 0 {
t.setErrno(err)
return -1
@@ -1493,9 +1481,14 @@ func Xstrerror(t *TLS, errnum int32) uintptr {
return uintptr(unsafe.Pointer(&strerrorBuf[0]))
}
+// int strerror_r(int errnum, char *buf, size_t buflen);
+func Xstrerror_r(t *TLS, errnum int32, buf uintptr, buflen size_t) int32 {
+ panic(todo(""))
+}
+
// void *dlopen(const char *filename, int flags);
func Xdlopen(t *TLS, filename uintptr, flags int32) uintptr {
- panic(todo(""))
+ panic(todo("%q", GoString(filename)))
}
// char *dlerror(void);
@@ -1723,16 +1716,6 @@ func Xferror(t *TLS, stream uintptr) int32 {
return Bool32(file(stream).err())
}
-// int fgetc(FILE *stream);
-func Xfgetc(t *TLS, stream uintptr) int32 {
- panic(todo(""))
-}
-
-// int getc(FILE *stream);
-func Xgetc(t *TLS, stream uintptr) int32 {
- return Xfgetc(t, stream)
-}
-
// int ungetc(int c, FILE *stream);
func Xungetc(t *TLS, c int32, stream uintptr) int32 {
panic(todo(""))
@@ -1743,11 +1726,6 @@ func Xfscanf(t *TLS, stream, format, va uintptr) int32 {
panic(todo(""))
}
-// FILE *fdopen(int fd, const char *mode);
-func Xfdopen(t *TLS, fd int32, mode uintptr) uintptr {
- panic(todo(""))
-}
-
// int fputs(const char *s, FILE *stream);
func Xfputs(t *TLS, s, stream uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_WRITE, uintptr(file(stream).fd()), s, uintptr(Xstrlen(t, s))); err != 0 {
@@ -1944,11 +1922,6 @@ func X__isoc99_sscanf(t *TLS, str, format, va uintptr) int32 {
return r
}
-// int sched_yield(void);
-func Xsched_yield(t *TLS) {
- runtime.Gosched()
-}
-
var ctimeStaticBuf [32]byte
// char *ctime(const time_t *timep);
@@ -1964,3 +1937,141 @@ func Xctime_r(t *TLS, timep, buf uintptr) uintptr {
copy((*RawMem)(unsafe.Pointer(buf))[:26:26], s)
return buf
}
+
+// ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
+func Xpwrite(t *TLS, fd int32, buf uintptr, count types.Size_t, offset types.Off_t) types.Ssize_t {
+ var n int
+ var err error
+ switch {
+ case count == 0:
+ n, err = unix.Pwrite(int(fd), nil, int64(offset))
+ default:
+ n, err = unix.Pwrite(int(fd), (*RawMem)(unsafe.Pointer(buf))[:count:count], int64(offset))
+ if dmesgs {
+ dmesg("%v: fd %v, off %#x, count %#x\n%s", origin(1), fd, offset, count, hex.Dump((*RawMem)(unsafe.Pointer(buf))[:count:count]))
+ }
+ }
+ if err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return types.Ssize_t(n)
+}
+
+// int fstatfs(int fd, struct statfs *buf);
+func Xfstatfs(t *TLS, fd int32, buf uintptr) int32 {
+ if err := unix.Fstatfs(int(fd), (*unix.Statfs_t)(unsafe.Pointer(buf))); err != nil {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// ssize_t getrandom(void *buf, size_t buflen, unsigned int flags);
+func Xgetrandom(t *TLS, buf uintptr, buflen size_t, flags uint32) ssize_t {
+ n, err := unix.Getrandom((*RawMem)(unsafe.Pointer(buf))[:buflen], int(flags))
+ if err != nil {
+ t.setErrno(err)
+ return -1
+ }
+
+ return ssize_t(n)
+}
+
+// int posix_fadvise(int fd, off_t offset, off_t len, int advice);
+func Xposix_fadvise(t *TLS, fd int32, offset, len types.Off_t, advice int32) int32 {
+ if err := unix.Fadvise(int(fd), int64(offset), int64(len), int(advice)); err != nil {
+ return int32(err.(unix.Errno))
+ }
+
+ return 0
+}
+
+// void uuid_generate_random(uuid_t out);
+func Xuuid_generate_random(t *TLS, out uintptr) {
+ panic(todo(""))
+}
+
+// void uuid_unparse(uuid_t uu, char *out);
+func Xuuid_unparse(t *TLS, uu, out uintptr) {
+ s := (*guuid.UUID)(unsafe.Pointer(uu)).String()
+ copy((*RawMem)(unsafe.Pointer(out))[:], s)
+ *(*byte)(unsafe.Pointer(out + uintptr(len(s)))) = 0
+}
+
+// int uuid_parse( char *in, uuid_t uu);
+func Xuuid_parse(t *TLS, in uintptr, uu uintptr) int32 {
+ r, err := guuid.Parse(GoString(in))
+ if err != nil {
+ return -1
+ }
+
+ copy((*RawMem)(unsafe.Pointer(uu))[:unsafe.Sizeof(uuid.Uuid_t{})], r[:])
+ return 0
+}
+
+// The initstate_r() function is like initstate(3) except that it initializes
+// the state in the object pointed to by buf, rather than initializing the
+// global state variable. Before calling this function, the buf.state field
+// must be initialized to NULL. The initstate_r() function records a pointer
+// to the statebuf argument inside the structure pointed to by buf. Thus,
+// state‐ buf should not be deallocated so long as buf is still in use. (So,
+// statebuf should typically be allocated as a static variable, or allocated on
+// the heap using malloc(3) or similar.)
+//
+// char *initstate_r(unsigned int seed, char *statebuf, size_t statelen, struct random_data *buf);
+func Xinitstate_r(t *TLS, seed uint32, statebuf uintptr, statelen types.Size_t, buf uintptr) int32 {
+ if buf == 0 {
+ panic(todo(""))
+ }
+
+ randomDataMu.Lock()
+
+ defer randomDataMu.Unlock()
+
+ randomData[buf] = rand.New(rand.NewSource(int64(seed)))
+ return 0
+}
+
+var (
+ randomData = map[uintptr]*rand.Rand{}
+ randomDataMu sync.Mutex
+)
+
+// int random_r(struct random_data *buf, int32_t *result);
+func Xrandom_r(t *TLS, buf, result uintptr) int32 {
+ randomDataMu.Lock()
+
+ defer randomDataMu.Unlock()
+
+ mr := randomData[buf]
+ if stdlib.RAND_MAX != math.MaxInt32 {
+ panic(todo(""))
+ }
+ *(*int32)(unsafe.Pointer(result)) = mr.Int31()
+ return 0
+}
+
+// void uuid_copy(uuid_t dst, uuid_t src);
+func Xuuid_copy(t *TLS, dst, src uintptr) {
+ *(*uuid.Uuid_t)(unsafe.Pointer(dst)) = *(*uuid.Uuid_t)(unsafe.Pointer(src))
+}
+
+// int fgetc(FILE *stream);
+func Xfgetc(t *TLS, stream uintptr) int32 {
+ fd := int((*stdio.FILE)(unsafe.Pointer(stream)).F_fileno)
+ var buf [1]byte
+ if n, _ := unix.Read(fd, buf[:]); n != 0 {
+ return int32(buf[0])
+ }
+
+ return stdio.EOF
+}
diff --git a/vendor/modernc.org/libc/libc_linux_amd64.go b/vendor/modernc.org/libc/libc_linux_amd64.go
index c7570da87..23e4f853b 100644
--- a/vendor/modernc.org/libc/libc_linux_amd64.go
+++ b/vendor/modernc.org/libc/libc_linux_amd64.go
@@ -7,6 +7,7 @@ package libc // import "modernc.org/libc"
import (
"os"
"strings"
+ "unicode"
"unsafe"
"golang.org/x/sys/unix"
@@ -14,7 +15,7 @@ import (
"modernc.org/libc/fcntl"
"modernc.org/libc/signal"
"modernc.org/libc/sys/types"
- "modernc.org/libc/uuid/uuid"
+ "modernc.org/libc/wctype"
)
// int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
@@ -455,17 +456,12 @@ func Xfopen64(t *TLS, pathname, mode uintptr) uintptr {
return 0
}
-// void uuid_generate_random(uuid_t out);
-func Xuuid_generate_random(t *TLS, out uuid.Uuid_t) {
- panic(todo(""))
+// int iswspace(wint_t wc);
+func Xiswspace(t *TLS, wc wctype.Wint_t) int32 {
+ return Bool32(unicode.IsSpace(rune(wc)))
}
-// void uuid_unparse(uuid_t uu, char *out);
-func Xuuid_unparse(t *TLS, uu uuid.Uuid_t, out uintptr) {
- panic(todo(""))
-}
-
-// int uuid_parse( char *in, uuid_t uu);
-func Xuuid_parse(t *TLS, in uintptr, uu uuid.Uuid_t) int32 {
- panic(todo(""))
+// int iswalnum(wint_t wc);
+func Xiswalnum(t *TLS, wc wctype.Wint_t) int32 {
+ return Bool32(unicode.IsLetter(rune(wc)) || unicode.IsNumber(rune(wc)))
}
diff --git a/vendor/modernc.org/libc/libc_linux_s390x.go b/vendor/modernc.org/libc/libc_linux_s390x.go
index f2ea9e44f..dfb7aa2fa 100644
--- a/vendor/modernc.org/libc/libc_linux_s390x.go
+++ b/vendor/modernc.org/libc/libc_linux_s390x.go
@@ -14,7 +14,6 @@ import (
"modernc.org/libc/fcntl"
"modernc.org/libc/signal"
"modernc.org/libc/sys/types"
- "modernc.org/libc/uuid/uuid"
)
// int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
@@ -139,17 +138,19 @@ func Xmmap(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, off
// void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
func Xmmap64(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr {
- data, _, err := unix.Syscall6(unix.SYS_MMAP, addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
+ // https://github.com/golang/go/blob/7d822af4500831d131562f17dcf53374469d823e/src/syscall/syscall_linux_s390x.go#L77
+ args := [6]uintptr{addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)}
+ data, _, err := unix.Syscall(unix.SYS_MMAP, uintptr(unsafe.Pointer(&args[0])), 0, 0)
if err != 0 {
// if dmesgs {
- // dmesg("%v: %v", origin(1), err)
+ // dmesg("%v: addr %#x, length %#x, prot %#x, flags %#x, fd %v, offset %#x: %v", origin(1), addr, length, prot, flags, fd, offset, err)
// }
t.setErrno(err)
return ^uintptr(0) // (void*)-1
}
// if dmesgs {
- // dmesg("%v: %#x", origin(1), data)
+ // dmesg("%v: addr %#x, length %#x, prot %#x, flags %#x, fd %v, offset %#x: ok", origin(1), addr, length, prot, flags, fd, offset)
// }
return data
}
@@ -451,21 +452,6 @@ func Xfopen64(t *TLS, pathname, mode uintptr) uintptr {
return 0
}
-// void uuid_generate_random(uuid_t out);
-func Xuuid_generate_random(t *TLS, out uuid.Uuid_t) {
- panic(todo(""))
-}
-
-// void uuid_unparse(uuid_t uu, char *out);
-func Xuuid_unparse(t *TLS, uu uuid.Uuid_t, out uintptr) {
- panic(todo(""))
-}
-
-// int uuid_parse( char *in, uuid_t uu);
-func Xuuid_parse(t *TLS, in uintptr, uu uuid.Uuid_t) int32 {
- panic(todo(""))
-}
-
//TODO-
func __syscall1(t *TLS, trap, p1 long) long {
return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), 0, 0))
diff --git a/vendor/modernc.org/libc/libc_netbsd.go b/vendor/modernc.org/libc/libc_netbsd.go
new file mode 100644
index 000000000..4f332b700
--- /dev/null
+++ b/vendor/modernc.org/libc/libc_netbsd.go
@@ -0,0 +1,2158 @@
+// Copyright 2020 The Libc Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package libc // import "modernc.org/libc"
+
+import (
+ "bufio"
+ "fmt"
+ "io"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "runtime/debug"
+ "strconv"
+ "strings"
+ "syscall"
+ gotime "time"
+ "unsafe"
+
+ "golang.org/x/sys/unix"
+ "modernc.org/libc/errno"
+ "modernc.org/libc/fcntl"
+ "modernc.org/libc/fts"
+ "modernc.org/libc/grp"
+ gonetdb "modernc.org/libc/honnef.co/go/netdb"
+ "modernc.org/libc/langinfo"
+ "modernc.org/libc/limits"
+ "modernc.org/libc/netdb"
+ "modernc.org/libc/netinet/in"
+ "modernc.org/libc/pwd"
+ "modernc.org/libc/stdio"
+ "modernc.org/libc/sys/socket"
+ "modernc.org/libc/sys/stat"
+ "modernc.org/libc/sys/types"
+ "modernc.org/libc/termios"
+ "modernc.org/libc/time"
+ "modernc.org/libc/unistd"
+)
+
+var (
+ in6_addr_any in.In6_addr
+)
+
+type (
+ long = int64
+ ulong = uint64
+)
+
+// // Keep these outside of the var block otherwise go generate will miss them.
+var X__stderrp = Xstdout
+var X__stdinp = Xstdin
+var X__stdoutp = Xstdout
+var X__sF [3]stdio.FILE
+var X_tolower_tab_ = Xmalloc(nil, 2*65537)
+var X_toupper_tab_ = Xmalloc(nil, 2*65537)
+
+func init() {
+ for c := rune(0); c < 0xffff; c++ {
+ y := c
+ s := strings.ToLower(string(c))
+ a := []rune(s)
+ if len(a) != 0 {
+ y = a[0]
+ }
+ (*[65536]uint16)(unsafe.Pointer(X_tolower_tab_))[c+1] = uint16(y)
+ y = c
+ s = strings.ToUpper(string(c))
+ a = []rune(s)
+ if len(a) != 0 {
+ y = a[0]
+ }
+ (*[65536]uint16)(unsafe.Pointer(X_toupper_tab_))[c+1] = uint16(y)
+ }
+}
+
+// include/stdio.h:486:extern int __isthreaded;
+var X__isthreaded int32
+
+// lib/libc/locale/mblocal.h:62: int __mb_sb_limit;
+var X__mb_sb_limit int32 = 128 // UTF-8
+
+// include/runetype.h:94:extern _Thread_local const _RuneLocale *_ThreadRuneLocale;
+var X_ThreadRuneLocale uintptr //TODO initialize and implement _Thread_local semantics.
+
+// include/xlocale/_ctype.h:54:_RuneLocale *__runes_for_locale(locale_t, int*);
+func X__runes_for_locale(t *TLS, l locale_t, p uintptr) uintptr {
+ panic(todo(""))
+}
+
+type file uintptr
+
+func (f file) fd() int32 { return int32((*stdio.FILE)(unsafe.Pointer(f)).F_file) }
+func (f file) setFd(fd int32) { (*stdio.FILE)(unsafe.Pointer(f)).F_file = int16(fd) }
+
+func (f file) err() bool {
+ return (*stdio.FILE)(unsafe.Pointer(f)).F_flags&1 != 0
+}
+
+func (f file) setErr() {
+ (*stdio.FILE)(unsafe.Pointer(f)).F_flags |= 1
+}
+
+func (f file) close(t *TLS) int32 {
+ fd := f.fd()
+ r := Xclose(t, fd)
+ switch fd {
+ case unistd.STDIN_FILENO, unistd.STDOUT_FILENO, unistd.STDERR_FILENO:
+ X__sF[fd] = stdio.FILE{}
+ default:
+ Xfree(t, uintptr(f))
+ }
+ if r < 0 {
+ return stdio.EOF
+ }
+
+ return 0
+}
+
+func newFile(t *TLS, fd int32) uintptr {
+ var p uintptr
+ switch fd {
+ case unistd.STDIN_FILENO:
+ p = uintptr(unsafe.Pointer(&X__sF[0]))
+ case unistd.STDOUT_FILENO:
+ p = uintptr(unsafe.Pointer(&X__sF[1]))
+ case unistd.STDERR_FILENO:
+ p = uintptr(unsafe.Pointer(&X__sF[2]))
+ default:
+ if p = Xcalloc(t, 1, types.Size_t(unsafe.Sizeof(stdio.FILE{}))); p == 0 {
+ return 0
+ }
+ }
+ file(p).setFd(fd)
+ return p
+}
+
+func fwrite(fd int32, b []byte) (int, error) {
+ if fd == unistd.STDOUT_FILENO {
+ return write(b)
+ }
+
+ // if dmesgs {
+ // dmesg("%v: fd %v: %s", origin(1), fd, b)
+ // }
+ return unix.Write(int(fd), b) //TODO use Xwrite
+}
+
+// unsigned long ___runetype(__ct_rune_t) __pure;
+func X___runetype(t *TLS, x int32) ulong {
+ panic(todo(""))
+}
+
+// int fprintf(FILE *stream, const char *format, ...);
+func Xfprintf(t *TLS, stream, format, args uintptr) int32 {
+ n, _ := fwrite(int32((*stdio.FILE)(unsafe.Pointer(stream)).F_file), printf(format, args))
+ return int32(n)
+}
+
+// int usleep(useconds_t usec);
+func Xusleep(t *TLS, usec uint32) int32 {
+ gotime.Sleep(gotime.Microsecond * gotime.Duration(usec))
+ return 0
+}
+
+// int getrusage(int who, struct rusage *usage);
+func Xgetrusage(t *TLS, who int32, usage uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_GETRUSAGE, uintptr(who), usage, 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int fgetc(FILE *stream);
+func Xfgetc(t *TLS, stream uintptr) int32 {
+ fd := int((*stdio.FILE)(unsafe.Pointer(stream)).F_file)
+ var buf [1]byte
+ if n, _ := unix.Read(fd, buf[:]); n != 0 {
+ return int32(buf[0])
+ }
+
+ return stdio.EOF
+}
+
+// int lstat(const char *pathname, struct stat *statbuf);
+func Xlstat(t *TLS, pathname, statbuf uintptr) int32 {
+ return Xlstat64(t, pathname, statbuf)
+}
+
+// int stat(const char *pathname, struct stat *statbuf);
+func Xstat(t *TLS, pathname, statbuf uintptr) int32 {
+ return Xstat64(t, pathname, statbuf)
+}
+
+// int chdir(const char *path);
+func Xchdir(t *TLS, path uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_CHDIR, path, 0, 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: %q: ok", origin(1), GoString(path))
+ // }
+ return 0
+}
+
+var localtime time.Tm
+
+// struct tm *localtime(const time_t *timep);
+func Xlocaltime(_ *TLS, timep uintptr) uintptr {
+ loc := gotime.Local
+ if r := getenv(Environ(), "TZ"); r != 0 {
+ zone, off := parseZone(GoString(r))
+ loc = gotime.FixedZone(zone, -off)
+ }
+ ut := *(*time.Time_t)(unsafe.Pointer(timep))
+ t := gotime.Unix(int64(ut), 0).In(loc)
+ localtime.Ftm_sec = int32(t.Second())
+ localtime.Ftm_min = int32(t.Minute())
+ localtime.Ftm_hour = int32(t.Hour())
+ localtime.Ftm_mday = int32(t.Day())
+ localtime.Ftm_mon = int32(t.Month() - 1)
+ localtime.Ftm_year = int32(t.Year() - 1900)
+ localtime.Ftm_wday = int32(t.Weekday())
+ localtime.Ftm_yday = int32(t.YearDay())
+ localtime.Ftm_isdst = Bool32(isTimeDST(t))
+ return uintptr(unsafe.Pointer(&localtime))
+}
+
+// struct tm *localtime_r(const time_t *timep, struct tm *result);
+func Xlocaltime_r(_ *TLS, timep, result uintptr) uintptr {
+ panic(todo(""))
+}
+
+// int open(const char *pathname, int flags, ...);
+func Xopen(t *TLS, pathname uintptr, flags int32, args uintptr) int32 {
+ return Xopen64(t, pathname, flags, args)
+}
+
+// int open(const char *pathname, int flags, ...);
+func Xopen64(t *TLS, pathname uintptr, flags int32, args uintptr) int32 {
+ var mode types.Mode_t
+ if args != 0 {
+ mode = (types.Mode_t)(VaUint32(&args))
+ }
+ fdcwd := fcntl.AT_FDCWD
+ n, _, err := unix.Syscall6(unix.SYS_OPENAT, uintptr(fdcwd), pathname, uintptr(flags), uintptr(mode), 0, 0)
+ if err != 0 {
+ // if dmesgs {
+ // dmesg("%v: %q %#x: %v", origin(1), GoString(pathname), flags, err)
+ // }
+ t.setErrno(err)
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: %q flags %#x mode %#o: fd %v", origin(1), GoString(pathname), flags, mode, n)
+ // }
+ return int32(n)
+}
+
+// off_t lseek(int fd, off_t offset, int whence);
+func Xlseek(t *TLS, fd int32, offset types.Off_t, whence int32) types.Off_t {
+ return types.Off_t(Xlseek64(t, fd, offset, whence))
+}
+
+func whenceStr(whence int32) string {
+ panic(todo(""))
+}
+
+var fsyncStatbuf stat.Stat
+
+// int fsync(int fd);
+func Xfsync(t *TLS, fd int32) int32 {
+ if noFsync {
+ // Simulate -DSQLITE_NO_SYNC for sqlite3 testfixture, see function full_sync in sqlite3.c
+ return Xfstat(t, fd, uintptr(unsafe.Pointer(&fsyncStatbuf)))
+ }
+
+ if _, _, err := unix.Syscall(unix.SYS_FSYNC, uintptr(fd), 0, 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: %d: ok", origin(1), fd)
+ // }
+ return 0
+}
+
+// long sysconf(int name);
+func Xsysconf(t *TLS, name int32) long {
+ switch name {
+ case unistd.X_SC_PAGESIZE:
+ return long(unix.Getpagesize())
+ case unistd.X_SC_GETPW_R_SIZE_MAX:
+ return -1
+ case unistd.X_SC_GETGR_R_SIZE_MAX:
+ return -1
+ }
+
+ panic(todo("", name))
+}
+
+// int close(int fd);
+func Xclose(t *TLS, fd int32) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_CLOSE, uintptr(fd), 0, 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: %d: ok", origin(1), fd)
+ // }
+ return 0
+}
+
+// char *getcwd(char *buf, size_t size);
+func Xgetcwd(t *TLS, buf uintptr, size types.Size_t) uintptr {
+ if _, err := unix.Getcwd((*RawMem)(unsafe.Pointer(buf))[:size:size]); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return 0
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return buf
+}
+
+// int fstat(int fd, struct stat *statbuf);
+func Xfstat(t *TLS, fd int32, statbuf uintptr) int32 {
+ return Xfstat64(t, fd, statbuf)
+}
+
+// int ftruncate(int fd, off_t length);
+func Xftruncate(t *TLS, fd int32, length types.Off_t) int32 {
+ if err := unix.Ftruncate(int(fd), int64(length)); err != nil {
+ if dmesgs {
+ dmesg("%v: fd %d: %v FAIL", origin(1), fd, err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %d %#x: ok", origin(1), fd, length)
+ }
+ return 0
+}
+
+// int fcntl(int fd, int cmd, ... /* arg */ );
+func Xfcntl(t *TLS, fd, cmd int32, args uintptr) int32 {
+ return Xfcntl64(t, fd, cmd, args)
+}
+
+// ssize_t read(int fd, void *buf, size_t count);
+func Xread(t *TLS, fd int32, buf uintptr, count types.Size_t) types.Ssize_t {
+ n, _, err := unix.Syscall(unix.SYS_READ, uintptr(fd), buf, uintptr(count))
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ // if dmesgs {
+ // // dmesg("%v: %d %#x: %#x\n%s", origin(1), fd, count, n, hex.Dump(GoBytes(buf, int(n))))
+ // dmesg("%v: %d %#x: %#x", origin(1), fd, count, n)
+ // }
+ return types.Ssize_t(n)
+}
+
+// ssize_t write(int fd, const void *buf, size_t count);
+func Xwrite(t *TLS, fd int32, buf uintptr, count types.Size_t) types.Ssize_t {
+ const retry = 5
+ var err syscall.Errno
+ for i := 0; i < retry; i++ {
+ var n uintptr
+ switch n, _, err = unix.Syscall(unix.SYS_WRITE, uintptr(fd), buf, uintptr(count)); err {
+ case 0:
+ // if dmesgs {
+ // // dmesg("%v: %d %#x: %#x\n%s", origin(1), fd, count, n, hex.Dump(GoBytes(buf, int(n))))
+ // dmesg("%v: %d %#x: %#x", origin(1), fd, count, n)
+ // }
+ return types.Ssize_t(n)
+ case errno.EAGAIN:
+ // nop
+ }
+ }
+
+ // if dmesgs {
+ // dmesg("%v: fd %v, count %#x: %v", origin(1), fd, count, err)
+ // }
+ t.setErrno(err)
+ return -1
+}
+
+// int fchmod(int fd, mode_t mode);
+func Xfchmod(t *TLS, fd int32, mode types.Mode_t) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_FCHMOD, uintptr(fd), uintptr(mode), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: %d %#o: ok", origin(1), fd, mode)
+ // }
+ return 0
+}
+
+// int fchown(int fd, uid_t owner, gid_t group);
+func Xfchown(t *TLS, fd int32, owner types.Uid_t, group types.Gid_t) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_FCHOWN, uintptr(fd), uintptr(owner), uintptr(group)); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// uid_t geteuid(void);
+func Xgeteuid(t *TLS) types.Uid_t {
+ n, _, _ := unix.Syscall(unix.SYS_GETEUID, 0, 0, 0)
+ return types.Uid_t(n)
+}
+
+// int munmap(void *addr, size_t length);
+func Xmunmap(t *TLS, addr uintptr, length types.Size_t) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_MUNMAP, addr, uintptr(length), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int gettimeofday(struct timeval *tv, struct timezone *tz);
+func Xgettimeofday(t *TLS, tv, tz uintptr) int32 {
+ if tz != 0 {
+ panic(todo(""))
+ }
+
+ var tvs unix.Timeval
+ err := unix.Gettimeofday(&tvs)
+ if err != nil {
+ t.setErrno(err)
+ return -1
+ }
+
+ *(*unix.Timeval)(unsafe.Pointer(tv)) = tvs
+ return 0
+}
+
+// int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
+func Xgetsockopt(t *TLS, sockfd, level, optname int32, optval, optlen uintptr) int32 {
+ if _, _, err := unix.Syscall6(unix.SYS_GETSOCKOPT, uintptr(sockfd), uintptr(level), uintptr(optname), optval, optlen, 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
+func Xsetsockopt(t *TLS, sockfd, level, optname int32, optval uintptr, optlen socket.Socklen_t) int32 {
+ if _, _, err := unix.Syscall6(unix.SYS_SETSOCKOPT, uintptr(sockfd), uintptr(level), uintptr(optname), optval, uintptr(optlen), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int ioctl(int fd, unsigned long request, ...);
+func Xioctl(t *TLS, fd int32, request ulong, va uintptr) int32 {
+ var argp uintptr
+ if va != 0 {
+ argp = VaUintptr(&va)
+ }
+ n, _, err := unix.Syscall(unix.SYS_IOCTL, uintptr(fd), uintptr(request), argp)
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return int32(n)
+}
+
+// int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
+func Xgetsockname(t *TLS, sockfd int32, addr, addrlen uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_GETSOCKNAME, uintptr(sockfd), addr, addrlen); err != 0 {
+ // if dmesgs {
+ // dmesg("%v: fd %v: %v", origin(1), sockfd, err)
+ // }
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
+func Xselect(t *TLS, nfds int32, readfds, writefds, exceptfds, timeout uintptr) int32 {
+ n, err := unix.Select(
+ int(nfds),
+ (*unix.FdSet)(unsafe.Pointer(readfds)),
+ (*unix.FdSet)(unsafe.Pointer(writefds)),
+ (*unix.FdSet)(unsafe.Pointer(exceptfds)),
+ (*unix.Timeval)(unsafe.Pointer(timeout)),
+ )
+ if err != nil {
+ t.setErrno(err)
+ return -1
+ }
+
+ return int32(n)
+}
+
+// int mkfifo(const char *pathname, mode_t mode);
+func Xmkfifo(t *TLS, pathname uintptr, mode types.Mode_t) int32 {
+ panic(todo(""))
+}
+
+// mode_t umask(mode_t mask);
+func Xumask(t *TLS, mask types.Mode_t) types.Mode_t {
+ n, _, _ := unix.Syscall(unix.SYS_UMASK, uintptr(mask), 0, 0)
+ return types.Mode_t(n)
+}
+
+// int execvp(const char *file, char *const argv[]);
+func Xexecvp(t *TLS, file, argv uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_EXECVE, file, argv, Environ()); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// pid_t waitpid(pid_t pid, int *wstatus, int options);
+func Xwaitpid(t *TLS, pid types.Pid_t, wstatus uintptr, optname int32) types.Pid_t {
+ n, _, err := unix.Syscall6(unix.SYS_WAIT4, uintptr(pid), wstatus, uintptr(optname), 0, 0, 0)
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return types.Pid_t(n)
+}
+
+// int uname(struct utsname *buf);
+func Xuname(t *TLS, buf uintptr) int32 {
+ if err := unix.Uname((*unix.Utsname)(unsafe.Pointer(buf))); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// ssize_t recv(int sockfd, void *buf, size_t len, int flags);
+func Xrecv(t *TLS, sockfd int32, buf uintptr, len types.Size_t, flags int32) types.Ssize_t {
+ n, _, err := unix.Syscall6(unix.SYS_RECVFROM, uintptr(sockfd), buf, uintptr(len), uintptr(flags), 0, 0)
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return types.Ssize_t(n)
+}
+
+// ssize_t send(int sockfd, const void *buf, size_t len, int flags);
+func Xsend(t *TLS, sockfd int32, buf uintptr, len types.Size_t, flags int32) types.Ssize_t {
+ n, _, err := unix.Syscall6(unix.SYS_SENDTO, uintptr(sockfd), buf, uintptr(len), uintptr(flags), 0, 0)
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return types.Ssize_t(n)
+}
+
+// int shutdown(int sockfd, int how);
+func Xshutdown(t *TLS, sockfd, how int32) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_SHUTDOWN, uintptr(sockfd), uintptr(how), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
+func Xgetpeername(t *TLS, sockfd int32, addr uintptr, addrlen uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_GETPEERNAME, uintptr(sockfd), addr, uintptr(addrlen)); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int socket(int domain, int type, int protocol);
+func Xsocket(t *TLS, domain, type1, protocol int32) int32 {
+ n, _, err := unix.Syscall(unix.SYS_SOCKET, uintptr(domain), uintptr(type1), uintptr(protocol))
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return int32(n)
+}
+
+// int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
+func Xbind(t *TLS, sockfd int32, addr uintptr, addrlen uint32) int32 {
+ n, _, err := unix.Syscall(unix.SYS_BIND, uintptr(sockfd), addr, uintptr(addrlen))
+ if err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return int32(n)
+}
+
+// int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
+func Xconnect(t *TLS, sockfd int32, addr uintptr, addrlen uint32) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_CONNECT, uintptr(sockfd), addr, uintptr(addrlen)); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int listen(int sockfd, int backlog);
+func Xlisten(t *TLS, sockfd, backlog int32) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_LISTEN, uintptr(sockfd), uintptr(backlog), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
+func Xaccept(t *TLS, sockfd int32, addr uintptr, addrlen uintptr) int32 {
+ panic(todo(""))
+ // n, _, err := unix.Syscall6(unix.SYS_ACCEPT4, uintptr(sockfd), addr, uintptr(addrlen), 0, 0, 0)
+ // if err != 0 {
+ // t.setErrno(err)
+ // return -1
+ // }
+
+ // return int32(n)
+}
+
+// int getrlimit(int resource, struct rlimit *rlim);
+func Xgetrlimit(t *TLS, resource int32, rlim uintptr) int32 {
+ return Xgetrlimit64(t, resource, rlim)
+}
+
+// int setrlimit(int resource, const struct rlimit *rlim);
+func Xsetrlimit(t *TLS, resource int32, rlim uintptr) int32 {
+ return Xsetrlimit64(t, resource, rlim)
+}
+
+// int setrlimit(int resource, const struct rlimit *rlim);
+func Xsetrlimit64(t *TLS, resource int32, rlim uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_SETRLIMIT, uintptr(resource), uintptr(rlim), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
+
+// uid_t getuid(void);
+func Xgetuid(t *TLS) types.Uid_t {
+ return types.Uid_t(os.Getuid())
+}
+
+// pid_t getpid(void);
+func Xgetpid(t *TLS) int32 {
+ return int32(os.Getpid())
+}
+
+// int system(const char *command);
+func Xsystem(t *TLS, command uintptr) int32 {
+ s := GoString(command)
+ if command == 0 {
+ panic(todo(""))
+ }
+
+ cmd := exec.Command("sh", "-c", s)
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
+ err := cmd.Run()
+ if err != nil {
+ ps := err.(*exec.ExitError)
+ return int32(ps.ExitCode())
+ }
+
+ return 0
+}
+
+var staticGetpwuid pwd.Passwd
+
+func init() {
+ atExit = append(atExit, func() { closePasswd(&staticGetpwuid) })
+}
+
+func closePasswd(p *pwd.Passwd) {
+ Xfree(nil, p.Fpw_name)
+ Xfree(nil, p.Fpw_passwd)
+ Xfree(nil, p.Fpw_gecos)
+ Xfree(nil, p.Fpw_dir)
+ Xfree(nil, p.Fpw_shell)
+ *p = pwd.Passwd{}
+}
+
+// struct passwd *getpwuid(uid_t uid);
+func Xgetpwuid(t *TLS, uid uint32) uintptr {
+ f, err := os.Open("/etc/passwd")
+ if err != nil {
+ panic(todo("", err))
+ }
+
+ defer f.Close()
+
+ sid := strconv.Itoa(int(uid))
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:0:root:/root:/bin/bash"
+ s := sc.Text()
+ if strings.HasPrefix(s, "#") {
+ continue
+ }
+
+ a := strings.Split(s, ":")
+ if len(a) < 7 {
+ panic(todo("%q", s))
+ }
+
+ if a[2] == sid {
+ uid, err := strconv.Atoi(a[2])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ gid, err := strconv.Atoi(a[3])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ closePasswd(&staticGetpwuid)
+ gecos := a[4]
+ if strings.Contains(gecos, ",") {
+ a := strings.Split(gecos, ",")
+ gecos = a[0]
+ }
+ initPasswd(t, &staticGetpwuid, a[0], a[1], uint32(uid), uint32(gid), gecos, a[5], a[6])
+ return uintptr(unsafe.Pointer(&staticGetpwuid))
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ return 0
+}
+
+func initPasswd(t *TLS, p *pwd.Passwd, name, pwd string, uid, gid uint32, gecos, dir, shell string) {
+ p.Fpw_name = cString(t, name)
+ p.Fpw_passwd = cString(t, pwd)
+ p.Fpw_uid = uid
+ p.Fpw_gid = gid
+ p.Fpw_gecos = cString(t, gecos)
+ p.Fpw_dir = cString(t, dir)
+ p.Fpw_shell = cString(t, shell)
+}
+
+func initPasswd2(t *TLS, buf uintptr, buflen types.Size_t, p *pwd.Passwd, name, pwd string, uid, gid uint32, gecos, dir, shell string) bool {
+ p.Fpw_name, buf, buflen = bufString(buf, buflen, name)
+ if buf == 0 {
+ return false
+ }
+
+ p.Fpw_passwd, buf, buflen = bufString(buf, buflen, pwd)
+ if buf == 0 {
+ return false
+ }
+
+ p.Fpw_uid = uid
+ p.Fpw_gid = gid
+ if buf == 0 {
+ return false
+ }
+
+ p.Fpw_gecos, buf, buflen = bufString(buf, buflen, gecos)
+ if buf == 0 {
+ return false
+ }
+
+ p.Fpw_dir, buf, buflen = bufString(buf, buflen, dir)
+ if buf == 0 {
+ return false
+ }
+
+ p.Fpw_shell, buf, buflen = bufString(buf, buflen, shell)
+ if buf == 0 {
+ return false
+ }
+
+ return true
+}
+
+func bufString(buf uintptr, buflen types.Size_t, s string) (uintptr, uintptr, types.Size_t) {
+ buf0 := buf
+ rq := len(s) + 1
+ if rq > int(buflen) {
+ return 0, 0, 0
+ }
+
+ copy((*RawMem)(unsafe.Pointer(buf))[:len(s):len(s)], s)
+ buf += uintptr(len(s))
+ *(*byte)(unsafe.Pointer(buf)) = 0
+ return buf0, buf + 1, buflen - types.Size_t(rq)
+}
+
+// int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result);
+func Xgetpwuid_r(t *TLS, uid types.Uid_t, cpwd, buf uintptr, buflen types.Size_t, result uintptr) int32 {
+ f, err := os.Open("/etc/passwd")
+ if err != nil {
+ panic(todo("", err))
+ }
+
+ defer f.Close()
+
+ sid := strconv.Itoa(int(uid))
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:0:root:/root:/bin/bash"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 7 {
+ panic(todo(""))
+ }
+
+ if a[2] == sid {
+ uid, err := strconv.Atoi(a[2])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ gid, err := strconv.Atoi(a[3])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ gecos := a[4]
+ if strings.Contains(gecos, ",") {
+ a := strings.Split(gecos, ",")
+ gecos = a[0]
+ }
+ var v pwd.Passwd
+ if initPasswd2(t, buf, buflen, &v, a[0], a[1], uint32(uid), uint32(gid), gecos, a[5], a[6]) {
+ *(*pwd.Passwd)(unsafe.Pointer(cpwd)) = v
+ *(*uintptr)(unsafe.Pointer(result)) = cpwd
+ return 0
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return errno.ERANGE
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return 0
+}
+
+// struct passwd *getpwnam(const char *name);
+func Xgetpwnam(t *TLS, name uintptr) uintptr {
+ f, err := os.Open("/etc/passwd")
+ if err != nil {
+ panic(todo("", err))
+ }
+
+ defer f.Close()
+
+ sname := GoString(name)
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:0:root:/root:/bin/bash"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 7 {
+ panic(todo(""))
+ }
+
+ if a[0] == sname {
+ uid, err := strconv.Atoi(a[2])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ gid, err := strconv.Atoi(a[3])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ closePasswd(&staticGetpwnam)
+ gecos := a[4]
+ if strings.Contains(gecos, ",") {
+ a := strings.Split(gecos, ",")
+ gecos = a[0]
+ }
+ initPasswd(t, &staticGetpwnam, a[0], a[1], uint32(uid), uint32(gid), gecos, a[5], a[6])
+ return uintptr(unsafe.Pointer(&staticGetpwnam))
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ return 0
+}
+
+// int getpwnam_r(char *name, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result);
+func Xgetpwnam_r(t *TLS, name, cpwd, buf uintptr, buflen types.Size_t, result uintptr) int32 {
+ f, err := os.Open("/etc/passwd")
+ if err != nil {
+ panic(todo("", err))
+ }
+
+ defer f.Close()
+
+ sname := GoString(name)
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:0:root:/root:/bin/bash"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 7 {
+ panic(todo(""))
+ }
+
+ if a[0] == sname {
+ uid, err := strconv.Atoi(a[2])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ gid, err := strconv.Atoi(a[3])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ gecos := a[4]
+ if strings.Contains(gecos, ",") {
+ a := strings.Split(gecos, ",")
+ gecos = a[0]
+ }
+ var v pwd.Passwd
+ if initPasswd2(t, buf, buflen, &v, a[0], a[1], uint32(uid), uint32(gid), gecos, a[5], a[6]) {
+ *(*pwd.Passwd)(unsafe.Pointer(cpwd)) = v
+ *(*uintptr)(unsafe.Pointer(result)) = cpwd
+ return 0
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return errno.ERANGE
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return 0
+}
+
+// int setvbuf(FILE *stream, char *buf, int mode, size_t size);
+func Xsetvbuf(t *TLS, stream, buf uintptr, mode int32, size types.Size_t) int32 {
+ return 0 //TODO
+}
+
+// int raise(int sig);
+func Xraise(t *TLS, sig int32) int32 {
+ panic(todo(""))
+}
+
+// int backtrace(void **buffer, int size);
+func Xbacktrace(t *TLS, buf uintptr, size int32) int32 {
+ panic(todo(""))
+}
+
+// void backtrace_symbols_fd(void *const *buffer, int size, int fd);
+func Xbacktrace_symbols_fd(t *TLS, buffer uintptr, size, fd int32) {
+ panic(todo(""))
+}
+
+// int fileno(FILE *stream);
+func Xfileno(t *TLS, stream uintptr) int32 {
+ panic(todo(""))
+}
+
+var staticGetpwnam pwd.Passwd
+
+func init() {
+ atExit = append(atExit, func() { closePasswd(&staticGetpwnam) })
+}
+
+var staticGetgrnam grp.Group
+
+func init() {
+ atExit = append(atExit, func() { closeGroup(&staticGetgrnam) })
+}
+
+// struct group *getgrnam(const char *name);
+func Xgetgrnam(t *TLS, name uintptr) uintptr {
+ f, err := os.Open("/etc/group")
+ if err != nil {
+ panic(todo(""))
+ }
+
+ defer f.Close()
+
+ sname := GoString(name)
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 4 {
+ panic(todo(""))
+ }
+
+ if a[0] == sname {
+ closeGroup(&staticGetgrnam)
+ gid, err := strconv.Atoi(a[2])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ var names []string
+ if a[3] != "" {
+ names = strings.Split(a[3], ",")
+ }
+ initGroup(t, &staticGetgrnam, a[0], a[1], uint32(gid), names)
+ return uintptr(unsafe.Pointer(&staticGetgrnam))
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ return 0
+}
+
+// int getgrnam_r(const char *name, struct group *grp, char *buf, size_t buflen, struct group **result);
+func Xgetgrnam_r(t *TLS, name, pGrp, buf uintptr, buflen types.Size_t, result uintptr) int32 {
+ f, err := os.Open("/etc/group")
+ if err != nil {
+ panic(todo(""))
+ }
+
+ defer f.Close()
+
+ sname := GoString(name)
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 4 {
+ panic(todo(""))
+ }
+
+ if a[0] == sname {
+ gid, err := strconv.Atoi(a[2])
+ if err != nil {
+ panic(todo(""))
+ }
+
+ var names []string
+ if a[3] != "" {
+ names = strings.Split(a[3], ",")
+ }
+ var x grp.Group
+ if initGroup2(buf, buflen, &x, a[0], a[1], uint32(gid), names) {
+ *(*grp.Group)(unsafe.Pointer(pGrp)) = x
+ *(*uintptr)(unsafe.Pointer(result)) = pGrp
+ return 0
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return 0
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return 0
+}
+
+func closeGroup(p *grp.Group) {
+ Xfree(nil, p.Fgr_name)
+ Xfree(nil, p.Fgr_passwd)
+ if p := p.Fgr_mem; p != 0 {
+ for {
+ q := *(*uintptr)(unsafe.Pointer(p))
+ if q == 0 {
+ break
+ }
+
+ Xfree(nil, q)
+ p += unsafe.Sizeof(uintptr(0))
+ }
+ }
+ *p = grp.Group{}
+}
+
+func initGroup(t *TLS, p *grp.Group, name, pwd string, gid uint32, names []string) {
+ p.Fgr_name = cString(t, name)
+ p.Fgr_passwd = cString(t, pwd)
+ p.Fgr_gid = gid
+ a := Xcalloc(t, 1, types.Size_t(unsafe.Sizeof(uintptr(0)))*types.Size_t((len(names)+1)))
+ if a == 0 {
+ panic("OOM")
+ }
+
+ for p := a; len(names) != 0; p += unsafe.Sizeof(uintptr(0)) {
+ *(*uintptr)(unsafe.Pointer(p)) = cString(t, names[0])
+ names = names[1:]
+ }
+ p.Fgr_mem = a
+}
+
+func initGroup2(buf uintptr, buflen types.Size_t, p *grp.Group, name, pwd string, gid uint32, names []string) bool {
+ p.Fgr_name, buf, buflen = bufString(buf, buflen, name)
+ if buf == 0 {
+ return false
+ }
+
+ p.Fgr_passwd, buf, buflen = bufString(buf, buflen, pwd)
+ if buf == 0 {
+ return false
+ }
+
+ p.Fgr_gid = gid
+ rq := unsafe.Sizeof(uintptr(0)) * uintptr(len(names)+1)
+ if rq > uintptr(buflen) {
+ return false
+ }
+
+ a := buf
+ buf += rq
+ for ; len(names) != 0; buf += unsafe.Sizeof(uintptr(0)) {
+ if len(names[0])+1 > int(buflen) {
+ return false
+ }
+
+ *(*uintptr)(unsafe.Pointer(buf)), buf, buflen = bufString(buf, buflen, names[0])
+ names = names[1:]
+ }
+ *(*uintptr)(unsafe.Pointer(buf)) = 0
+ p.Fgr_mem = a
+ return true
+}
+
+func init() {
+ atExit = append(atExit, func() { closeGroup(&staticGetgrgid) })
+}
+
+var staticGetgrgid grp.Group
+
+// struct group *getgrgid(gid_t gid);
+func Xgetgrgid(t *TLS, gid uint32) uintptr {
+ f, err := os.Open("/etc/group")
+ if err != nil {
+ panic(todo(""))
+ }
+
+ defer f.Close()
+
+ sid := strconv.Itoa(int(gid))
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 4 {
+ panic(todo(""))
+ }
+
+ if a[2] == sid {
+ closeGroup(&staticGetgrgid)
+ var names []string
+ if a[3] != "" {
+ names = strings.Split(a[3], ",")
+ }
+ initGroup(t, &staticGetgrgid, a[0], a[1], gid, names)
+ return uintptr(unsafe.Pointer(&staticGetgrgid))
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ return 0
+}
+
+// int getgrgid_r(gid_t gid, struct group *grp, char *buf, size_t buflen, struct group **result);
+func Xgetgrgid_r(t *TLS, gid uint32, pGrp, buf uintptr, buflen types.Size_t, result uintptr) int32 {
+ f, err := os.Open("/etc/group")
+ if err != nil {
+ panic(todo(""))
+ }
+
+ defer f.Close()
+
+ sid := strconv.Itoa(int(gid))
+ sc := bufio.NewScanner(f)
+ for sc.Scan() {
+ // eg. "root:x:0:"
+ a := strings.Split(sc.Text(), ":")
+ if len(a) < 4 {
+ panic(todo(""))
+ }
+
+ if a[2] == sid {
+ var names []string
+ if a[3] != "" {
+ names = strings.Split(a[3], ",")
+ }
+ var x grp.Group
+ if initGroup2(buf, buflen, &x, a[0], a[1], gid, names) {
+ *(*grp.Group)(unsafe.Pointer(pGrp)) = x
+ *(*uintptr)(unsafe.Pointer(result)) = pGrp
+ return 0
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return 0
+ }
+ }
+
+ if sc.Err() != nil {
+ panic(todo(""))
+ }
+
+ *(*uintptr)(unsafe.Pointer(result)) = 0
+ return 0
+}
+
+// int mkstemps(char *template, int suffixlen);
+func Xmkstemps(t *TLS, template uintptr, suffixlen int32) int32 {
+ return Xmkstemps64(t, template, suffixlen)
+}
+
+// int mkstemps(char *template, int suffixlen);
+func Xmkstemps64(t *TLS, template uintptr, suffixlen int32) int32 {
+ len := uintptr(Xstrlen(t, template))
+ x := template + uintptr(len-6) - uintptr(suffixlen)
+ for i := uintptr(0); i < 6; i++ {
+ if *(*byte)(unsafe.Pointer(x + i)) != 'X' {
+ if dmesgs {
+ dmesg("%v: FAIL", origin(1))
+ }
+ t.setErrno(errno.EINVAL)
+ return -1
+ }
+ }
+
+ fd, err := tempFile(template, x)
+ if err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ return int32(fd)
+}
+
+// int mkstemp(char *template);
+func Xmkstemp(t *TLS, template uintptr) int32 {
+ return Xmkstemp64(t, template)
+}
+
+// int mkstemp(char *template);
+func Xmkstemp64(t *TLS, template uintptr) int32 {
+ return Xmkstemps64(t, template, 0)
+}
+
+func newFtsent(t *TLS, info int, path string, stat *unix.Stat_t, err syscall.Errno) (r *fts.FTSENT) {
+ var statp uintptr
+ if stat != nil {
+ statp = Xmalloc(t, types.Size_t(unsafe.Sizeof(unix.Stat_t{})))
+ if statp == 0 {
+ panic("OOM")
+ }
+
+ *(*unix.Stat_t)(unsafe.Pointer(statp)) = *stat
+ }
+ csp, errx := CString(path)
+ if errx != nil {
+ panic("OOM")
+ }
+
+ return &fts.FTSENT{
+ Ffts_info: uint16(info),
+ Ffts_path: csp,
+ Ffts_pathlen: uint32(len(path)),
+ Ffts_statp: statp,
+ Ffts_errno: int32(err),
+ }
+}
+
+func newCFtsent(t *TLS, info int, path string, stat *unix.Stat_t, err syscall.Errno) uintptr {
+ p := Xcalloc(t, 1, types.Size_t(unsafe.Sizeof(fts.FTSENT{})))
+ if p == 0 {
+ panic("OOM")
+ }
+
+ *(*fts.FTSENT)(unsafe.Pointer(p)) = *newFtsent(t, info, path, stat, err)
+ return p
+}
+
+func ftsentClose(t *TLS, p uintptr) {
+ Xfree(t, (*fts.FTSENT)(unsafe.Pointer(p)).Ffts_path)
+ Xfree(t, (*fts.FTSENT)(unsafe.Pointer(p)).Ffts_statp)
+}
+
+type ftstream struct {
+ s []uintptr
+ x int
+}
+
+func (f *ftstream) close(t *TLS) {
+ for _, p := range f.s {
+ ftsentClose(t, p)
+ Xfree(t, p)
+ }
+ *f = ftstream{}
+}
+
+// FTS *fts_open(char * const *path_argv, int options, int (*compar)(const FTSENT **, const FTSENT **));
+func Xfts_open(t *TLS, path_argv uintptr, options int32, compar uintptr) uintptr {
+ return Xfts64_open(t, path_argv, options, compar)
+}
+
+// FTS *fts_open(char * const *path_argv, int options, int (*compar)(const FTSENT **, const FTSENT **));
+func Xfts64_open(t *TLS, path_argv uintptr, options int32, compar uintptr) uintptr {
+ f := &ftstream{}
+
+ var walk func(string)
+ walk = func(path string) {
+ var fi os.FileInfo
+ var err error
+ switch {
+ case options&fts.FTS_LOGICAL != 0:
+ fi, err = os.Stat(path)
+ case options&fts.FTS_PHYSICAL != 0:
+ fi, err = os.Lstat(path)
+ default:
+ panic(todo(""))
+ }
+
+ if err != nil {
+ return
+ }
+
+ var statp *unix.Stat_t
+ if options&fts.FTS_NOSTAT == 0 {
+ var stat unix.Stat_t
+ switch {
+ case options&fts.FTS_LOGICAL != 0:
+ if err := unix.Stat(path, &stat); err != nil {
+ panic(todo(""))
+ }
+ case options&fts.FTS_PHYSICAL != 0:
+ if err := unix.Lstat(path, &stat); err != nil {
+ panic(todo(""))
+ }
+ default:
+ panic(todo(""))
+ }
+
+ statp = &stat
+ }
+
+ out:
+ switch {
+ case fi.IsDir():
+ f.s = append(f.s, newCFtsent(t, fts.FTS_D, path, statp, 0))
+ g, err := os.Open(path)
+ switch x := err.(type) {
+ case nil:
+ // ok
+ case *os.PathError:
+ f.s = append(f.s, newCFtsent(t, fts.FTS_DNR, path, statp, errno.EACCES))
+ break out
+ default:
+ panic(todo("%q: %v %T", path, x, x))
+ }
+
+ names, err := g.Readdirnames(-1)
+ g.Close()
+ if err != nil {
+ panic(todo(""))
+ }
+
+ for _, name := range names {
+ walk(path + "/" + name)
+ if f == nil {
+ break out
+ }
+ }
+
+ f.s = append(f.s, newCFtsent(t, fts.FTS_DP, path, statp, 0))
+ default:
+ info := fts.FTS_F
+ if fi.Mode()&os.ModeSymlink != 0 {
+ info = fts.FTS_SL
+ }
+ switch {
+ case statp != nil:
+ f.s = append(f.s, newCFtsent(t, info, path, statp, 0))
+ case options&fts.FTS_NOSTAT != 0:
+ f.s = append(f.s, newCFtsent(t, fts.FTS_NSOK, path, nil, 0))
+ default:
+ panic(todo(""))
+ }
+ }
+ }
+
+ for {
+ p := *(*uintptr)(unsafe.Pointer(path_argv))
+ if p == 0 {
+ if f == nil {
+ return 0
+ }
+
+ if compar != 0 {
+ panic(todo(""))
+ }
+
+ return addObject(f)
+ }
+
+ walk(GoString(p))
+ path_argv += unsafe.Sizeof(uintptr(0))
+ }
+}
+
+// FTSENT *fts_read(FTS *ftsp);
+func Xfts_read(t *TLS, ftsp uintptr) uintptr {
+ return Xfts64_read(t, ftsp)
+}
+
+// FTSENT *fts_read(FTS *ftsp);
+func Xfts64_read(t *TLS, ftsp uintptr) uintptr {
+ f := getObject(ftsp).(*ftstream)
+ if f.x == len(f.s) {
+ t.setErrno(0)
+ return 0
+ }
+
+ r := f.s[f.x]
+ if e := (*fts.FTSENT)(unsafe.Pointer(r)).Ffts_errno; e != 0 {
+ t.setErrno(e)
+ }
+ f.x++
+ return r
+}
+
+// int fts_close(FTS *ftsp);
+func Xfts_close(t *TLS, ftsp uintptr) int32 {
+ return Xfts64_close(t, ftsp)
+}
+
+// int fts_close(FTS *ftsp);
+func Xfts64_close(t *TLS, ftsp uintptr) int32 {
+ getObject(ftsp).(*ftstream).close(t)
+ removeObject(ftsp)
+ return 0
+}
+
+// void tzset (void);
+func Xtzset(t *TLS) {
+ //TODO
+}
+
+var strerrorBuf [100]byte
+
+// char *strerror(int errnum);
+func Xstrerror(t *TLS, errnum int32) uintptr {
+ if dmesgs {
+ dmesg("%v: %v\n%s", origin(1), errnum, debug.Stack())
+ }
+ copy(strerrorBuf[:], fmt.Sprintf("strerror(%d)\x00", errnum))
+ return uintptr(unsafe.Pointer(&strerrorBuf[0]))
+}
+
+// void *dlopen(const char *filename, int flags);
+func Xdlopen(t *TLS, filename uintptr, flags int32) uintptr {
+ panic(todo(""))
+}
+
+// char *dlerror(void);
+func Xdlerror(t *TLS) uintptr {
+ panic(todo(""))
+}
+
+// int dlclose(void *handle);
+func Xdlclose(t *TLS, handle uintptr) int32 {
+ panic(todo(""))
+}
+
+// void *dlsym(void *handle, const char *symbol);
+func Xdlsym(t *TLS, handle, symbol uintptr) uintptr {
+ panic(todo(""))
+}
+
+// void perror(const char *s);
+func Xperror(t *TLS, s uintptr) {
+ panic(todo(""))
+}
+
+// int pclose(FILE *stream);
+func Xpclose(t *TLS, stream uintptr) int32 {
+ panic(todo(""))
+}
+
+var gai_strerrorBuf [100]byte
+
+// const char *gai_strerror(int errcode);
+func Xgai_strerror(t *TLS, errcode int32) uintptr {
+ copy(gai_strerrorBuf[:], fmt.Sprintf("gai error %d\x00", errcode))
+ return uintptr(unsafe.Pointer(&gai_strerrorBuf))
+}
+
+// int tcgetattr(int fd, struct termios *termios_p);
+func Xtcgetattr(t *TLS, fd int32, termios_p uintptr) int32 {
+ panic(todo(""))
+}
+
+// int tcsetattr(int fd, int optional_actions, const struct termios *termios_p);
+func Xtcsetattr(t *TLS, fd, optional_actions int32, termios_p uintptr) int32 {
+ panic(todo(""))
+}
+
+// speed_t cfgetospeed(const struct termios *termios_p);
+func Xcfgetospeed(t *TLS, termios_p uintptr) termios.Speed_t {
+ panic(todo(""))
+}
+
+// int cfsetospeed(struct termios *termios_p, speed_t speed);
+func Xcfsetospeed(t *TLS, termios_p uintptr, speed uint32) int32 {
+ panic(todo(""))
+}
+
+// int cfsetispeed(struct termios *termios_p, speed_t speed);
+func Xcfsetispeed(t *TLS, termios_p uintptr, speed uint32) int32 {
+ panic(todo(""))
+}
+
+// pid_t fork(void);
+func Xfork(t *TLS) int32 {
+ t.setErrno(errno.ENOSYS)
+ return -1
+}
+
+var emptyStr = [1]byte{}
+
+// char *setlocale(int category, const char *locale);
+func Xsetlocale(t *TLS, category int32, locale uintptr) uintptr {
+ return uintptr(unsafe.Pointer(&emptyStr)) //TODO
+}
+
+// char *nl_langinfo(nl_item item);
+func Xnl_langinfo(t *TLS, item langinfo.Nl_item) uintptr {
+ return uintptr(unsafe.Pointer(&emptyStr)) //TODO
+}
+
+// FILE *popen(const char *command, const char *type);
+func Xpopen(t *TLS, command, type1 uintptr) uintptr {
+ panic(todo(""))
+}
+
+// char *realpath(const char *path, char *resolved_path);
+func Xrealpath(t *TLS, path, resolved_path uintptr) uintptr {
+ s, err := filepath.EvalSymlinks(GoString(path))
+ if err != nil {
+ if os.IsNotExist(err) {
+ // if dmesgs {
+ // dmesg("%v: %q: %v", origin(1), GoString(path), err)
+ // }
+ t.setErrno(errno.ENOENT)
+ return 0
+ }
+
+ panic(todo("", err))
+ }
+
+ if resolved_path == 0 {
+ panic(todo(""))
+ }
+
+ if len(s) >= limits.PATH_MAX {
+ s = s[:limits.PATH_MAX-1]
+ }
+
+ copy((*RawMem)(unsafe.Pointer(resolved_path))[:len(s):len(s)], s)
+ (*RawMem)(unsafe.Pointer(resolved_path))[len(s)] = 0
+ return resolved_path
+}
+
+// struct tm *gmtime_r(const time_t *timep, struct tm *result);
+func Xgmtime_r(t *TLS, timep, result uintptr) uintptr {
+ panic(todo(""))
+}
+
+// char *inet_ntoa(struct in_addr in);
+func Xinet_ntoa(t *TLS, in1 in.In_addr) uintptr {
+ panic(todo(""))
+}
+
+func X__ccgo_in6addr_anyp(t *TLS) uintptr {
+ return uintptr(unsafe.Pointer(&in6_addr_any))
+}
+
+func Xabort(t *TLS) {
+ panic(todo("")) //TODO
+ // if dmesgs {
+ // dmesg("%v:", origin(1))
+ // }
+ // p := Xcalloc(t, 1, types.Size_t(unsafe.Sizeof(signal.Sigaction{})))
+ // if p == 0 {
+ // panic("OOM")
+ // }
+
+ // (*signal.Sigaction)(unsafe.Pointer(p)).F__sigaction_u.F__sa_handler = signal.SIG_DFL
+ // Xsigaction(t, signal.SIGABRT, p, 0)
+ // Xfree(t, p)
+ // unix.Kill(unix.Getpid(), syscall.Signal(signal.SIGABRT))
+ // panic(todo("unrechable"))
+}
+
+// int fflush(FILE *stream);
+func Xfflush(t *TLS, stream uintptr) int32 {
+ return 0 //TODO
+}
+
+// size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
+func Xfread(t *TLS, ptr uintptr, size, nmemb types.Size_t, stream uintptr) types.Size_t {
+ m, _, err := unix.Syscall(unix.SYS_READ, uintptr(file(stream).fd()), ptr, uintptr(size*nmemb))
+ if err != 0 {
+ file(stream).setErr()
+ return 0
+ }
+
+ // if dmesgs {
+ // // dmesg("%v: %d %#x x %#x: %#x\n%s", origin(1), file(stream).fd(), size, nmemb, types.Size_t(m)/size, hex.Dump(GoBytes(ptr, int(m))))
+ // dmesg("%v: %d %#x x %#x: %#x", origin(1), file(stream).fd(), size, nmemb, types.Size_t(m)/size)
+ // }
+ return types.Size_t(m) / size
+}
+
+// size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
+func Xfwrite(t *TLS, ptr uintptr, size, nmemb types.Size_t, stream uintptr) types.Size_t {
+ m, _, err := unix.Syscall(unix.SYS_WRITE, uintptr(file(stream).fd()), ptr, uintptr(size*nmemb))
+ if err != 0 {
+ file(stream).setErr()
+ return 0
+ }
+
+ // if dmesgs {
+ // // dmesg("%v: %d %#x x %#x: %#x\n%s", origin(1), file(stream).fd(), size, nmemb, types.Size_t(m)/size, hex.Dump(GoBytes(ptr, int(m))))
+ // dmesg("%v: %d %#x x %#x: %#x", origin(1), file(stream).fd(), size, nmemb, types.Size_t(m)/size)
+ // }
+ return types.Size_t(m) / size
+}
+
+// int fclose(FILE *stream);
+func Xfclose(t *TLS, stream uintptr) int32 {
+ return file(stream).close(t)
+}
+
+// int fputc(int c, FILE *stream);
+func Xfputc(t *TLS, c int32, stream uintptr) int32 {
+ if _, err := fwrite(file(stream).fd(), []byte{byte(c)}); err != nil {
+ return stdio.EOF
+ }
+
+ return int32(byte(c))
+}
+
+// int fseek(FILE *stream, long offset, int whence);
+func Xfseek(t *TLS, stream uintptr, offset long, whence int32) int32 {
+ if n := Xlseek(t, int32(file(stream).fd()), types.Off_t(offset), whence); n < 0 {
+ // if dmesgs {
+ // dmesg("%v: fd %v, off %#x, whence %v: %v", origin(1), file(stream).fd(), offset, whenceStr(whence), n)
+ // }
+ file(stream).setErr()
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: fd %v, off %#x, whence %v: ok", origin(1), file(stream).fd(), offset, whenceStr(whence))
+ // }
+ return 0
+}
+
+// long ftell(FILE *stream);
+func Xftell(t *TLS, stream uintptr) long {
+ n := Xlseek(t, file(stream).fd(), 0, stdio.SEEK_CUR)
+ if n < 0 {
+ file(stream).setErr()
+ return -1
+ }
+
+ // if dmesgs {
+ // dmesg("%v: fd %v, n %#x: ok %#x", origin(1), file(stream).fd(), n, long(n))
+ // }
+ return long(n)
+}
+
+// int ferror(FILE *stream);
+func Xferror(t *TLS, stream uintptr) int32 {
+ return Bool32(file(stream).err())
+}
+
+// int ungetc(int c, FILE *stream);
+func Xungetc(t *TLS, c int32, stream uintptr) int32 {
+ panic(todo(""))
+}
+
+// int fscanf(FILE *stream, const char *format, ...);
+func Xfscanf(t *TLS, stream, format, va uintptr) int32 {
+ panic(todo(""))
+}
+
+// int fputs(const char *s, FILE *stream);
+func Xfputs(t *TLS, s, stream uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_WRITE, uintptr(file(stream).fd()), s, uintptr(Xstrlen(t, s))); err != 0 {
+ return -1
+ }
+
+ return 0
+}
+
+var getservbynameStaticResult netdb.Servent
+
+// struct servent *getservbyname(const char *name, const char *proto);
+func Xgetservbyname(t *TLS, name, proto uintptr) uintptr {
+ var protoent *gonetdb.Protoent
+ if proto != 0 {
+ protoent = gonetdb.GetProtoByName(GoString(proto))
+ }
+ servent := gonetdb.GetServByName(GoString(name), protoent)
+ if servent == nil {
+ // if dmesgs {
+ // dmesg("%q %q: nil (protoent %+v)", GoString(name), GoString(proto), protoent)
+ // }
+ return 0
+ }
+
+ Xfree(t, (*netdb.Servent)(unsafe.Pointer(&getservbynameStaticResult)).Fs_name)
+ if v := (*netdb.Servent)(unsafe.Pointer(&getservbynameStaticResult)).Fs_aliases; v != 0 {
+ for {
+ p := *(*uintptr)(unsafe.Pointer(v))
+ if p == 0 {
+ break
+ }
+
+ Xfree(t, p)
+ v += unsafe.Sizeof(uintptr(0))
+ }
+ Xfree(t, v)
+ }
+ Xfree(t, (*netdb.Servent)(unsafe.Pointer(&getservbynameStaticResult)).Fs_proto)
+ cname, err := CString(servent.Name)
+ if err != nil {
+ getservbynameStaticResult = netdb.Servent{}
+ return 0
+ }
+
+ var protoname uintptr
+ if protoent != nil {
+ if protoname, err = CString(protoent.Name); err != nil {
+ Xfree(t, cname)
+ getservbynameStaticResult = netdb.Servent{}
+ return 0
+ }
+ }
+ var a []uintptr
+ for _, v := range servent.Aliases {
+ cs, err := CString(v)
+ if err != nil {
+ for _, v := range a {
+ Xfree(t, v)
+ }
+ return 0
+ }
+
+ a = append(a, cs)
+ }
+ v := Xcalloc(t, types.Size_t(len(a)+1), types.Size_t(unsafe.Sizeof(uintptr(0))))
+ if v == 0 {
+ Xfree(t, cname)
+ Xfree(t, protoname)
+ for _, v := range a {
+ Xfree(t, v)
+ }
+ getservbynameStaticResult = netdb.Servent{}
+ return 0
+ }
+ for _, p := range a {
+ *(*uintptr)(unsafe.Pointer(v)) = p
+ v += unsafe.Sizeof(uintptr(0))
+ }
+
+ getservbynameStaticResult = netdb.Servent{
+ Fs_name: cname,
+ Fs_aliases: v,
+ Fs_port: int32(servent.Port),
+ Fs_proto: protoname,
+ }
+ return uintptr(unsafe.Pointer(&getservbynameStaticResult))
+}
+
+func Xreaddir64(t *TLS, dir uintptr) uintptr {
+ return Xreaddir(t, dir)
+}
+
+func __syscall(r, _ uintptr, errno syscall.Errno) long {
+ if errno != 0 {
+ return long(-errno)
+ }
+
+ return long(r)
+}
+
+func X__syscall1(t *TLS, trap, p1 long) long {
+ return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), 0, 0))
+}
+
+func X__syscall3(t *TLS, trap, p1, p2, p3 long) long {
+ return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), uintptr(p2), uintptr(p3)))
+}
+
+func X__syscall4(t *TLS, trap, p1, p2, p3, p4 long) long {
+ return __syscall(unix.Syscall6(uintptr(trap), uintptr(p1), uintptr(p2), uintptr(p3), uintptr(p4), 0, 0))
+}
+
+func fcntlCmdStr(cmd int32) string {
+ switch cmd {
+ case fcntl.F_GETOWN:
+ return "F_GETOWN"
+ case fcntl.F_SETLK:
+ return "F_SETLK"
+ case fcntl.F_GETLK:
+ return "F_GETLK"
+ case fcntl.F_SETFD:
+ return "F_SETFD"
+ case fcntl.F_GETFD:
+ return "F_GETFD"
+ default:
+ return fmt.Sprintf("cmd(%d)", cmd)
+ }
+}
+
+// int setenv(const char *name, const char *value, int overwrite);
+func Xsetenv(t *TLS, name, value uintptr, overwrite int32) int32 {
+ panic(todo(""))
+}
+
+// int unsetenv(const char *name);
+func Xunsetenv(t *TLS, name uintptr) int32 {
+ panic(todo(""))
+}
+
+// int pause(void);
+func Xpause(t *TLS) int32 {
+ panic(todo(""))
+}
+
+// ssize_t writev(int fd, const struct iovec *iov, int iovcnt);
+func Xwritev(t *TLS, fd int32, iov uintptr, iovcnt int32) types.Ssize_t {
+ panic(todo(""))
+}
+
+// void endpwent(void);
+func Xendpwent(t *TLS) {
+ // nop
+}
+
+// int __isoc99_sscanf(const char *str, const char *format, ...);
+func X__isoc99_sscanf(t *TLS, str, format, va uintptr) int32 {
+ r := Xsscanf(t, str, format, va)
+ // if dmesgs {
+ // dmesg("%v: %q %q: %d", origin(1), GoString(str), GoString(format), r)
+ // }
+ return r
+}
+
+var ctimeStaticBuf [32]byte
+
+// char *ctime(const time_t *timep);
+func Xctime(t *TLS, timep uintptr) uintptr {
+ return Xctime_r(t, timep, uintptr(unsafe.Pointer(&ctimeStaticBuf[0])))
+}
+
+// char *ctime_r(const time_t *timep, char *buf);
+func Xctime_r(t *TLS, timep, buf uintptr) uintptr {
+ panic(todo(""))
+}
+
+// void __assert(const char * func, const char * file, int line, const char *expr) __dead2;
+func X__assert(t *TLS, fn, file uintptr, line int32, expr uintptr) {
+ X__assert_fail(t, expr, file, uint32(line), fn)
+}
+
+func X__assert13(t *TLS, file uintptr, line int32, fn, msg uintptr) {
+ X__assert_fail(t, msg, file, uint32(line), fn)
+}
+
+// include/stdio.h:456:int __swbuf(int, FILE *);
+func X__swbuf(t *TLS, n int32, file uintptr) int32 {
+ return Xfputc(t, n, file) //TODO improve performance, use a real buffer.
+}
+
+// int rmdir(const char *pathname);
+func Xrmdir(t *TLS, pathname uintptr) int32 {
+ if err := unix.Rmdir(GoString(pathname)); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// struct dirent *readdir(DIR *dirp);
+func Xreaddir(t *TLS, dir uintptr) uintptr {
+ if (*darwinDir)(unsafe.Pointer(dir)).eof {
+ return 0
+ }
+
+ if (*darwinDir)(unsafe.Pointer(dir)).l == (*darwinDir)(unsafe.Pointer(dir)).h {
+ n, err := unix.Getdirentries((*darwinDir)(unsafe.Pointer(dir)).fd, (*darwinDir)(unsafe.Pointer(dir)).buf[:], nil)
+ // trc("must read: %v %v", n, err)
+ if n == 0 {
+ if err != nil && err != io.EOF {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ }
+ (*darwinDir)(unsafe.Pointer(dir)).eof = true
+ return 0
+ }
+
+ (*darwinDir)(unsafe.Pointer(dir)).l = 0
+ (*darwinDir)(unsafe.Pointer(dir)).h = n
+ // trc("new l %v, h %v", (*darwinDir)(unsafe.Pointer(dir)).l, (*darwinDir)(unsafe.Pointer(dir)).h)
+ }
+ de := dir + unsafe.Offsetof(darwinDir{}.buf) + uintptr((*darwinDir)(unsafe.Pointer(dir)).l)
+ (*darwinDir)(unsafe.Pointer(dir)).l += int((*unix.Dirent)(unsafe.Pointer(de)).Reclen)
+ return de
+}
+
+type darwinDir struct {
+ buf [4096]byte
+ fd int
+ h int
+ l int
+
+ eof bool
+}
+
+// int sscanf(const char *str, const char *format, ...);
+func Xsscanf(t *TLS, str, format, va uintptr) int32 {
+ r := scanf(strings.NewReader(GoString(str)), format, va)
+ // if dmesgs {
+ // dmesg("%v: %q %q: %d", origin(1), GoString(str), GoString(format), r)
+ // }
+ return r
+}
+
+// int * __error(void);
+func X__error(t *TLS) uintptr {
+ return t.errnop
+}
+
+func Xclosedir(t *TLS, dir uintptr) int32 {
+ r := Xclose(t, int32((*darwinDir)(unsafe.Pointer(dir)).fd))
+ Xfree(t, dir)
+ return r
+}
+
+// DIR *opendir(const char *name);
+func Xopendir(t *TLS, name uintptr) uintptr {
+ p := Xmalloc(t, uint64(unsafe.Sizeof(darwinDir{})))
+ if p == 0 {
+ panic("OOM")
+ }
+
+ fd := int(Xopen(t, name, fcntl.O_RDONLY|fcntl.O_DIRECTORY|fcntl.O_CLOEXEC, 0))
+ if fd < 0 {
+ if dmesgs {
+ dmesg("%v: FAIL %v", origin(1), (*darwinDir)(unsafe.Pointer(p)).fd)
+ }
+ Xfree(t, p)
+ return 0
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ (*darwinDir)(unsafe.Pointer(p)).fd = fd
+ (*darwinDir)(unsafe.Pointer(p)).h = 0
+ (*darwinDir)(unsafe.Pointer(p)).l = 0
+ (*darwinDir)(unsafe.Pointer(p)).eof = false
+ return p
+}
+
+// int __xuname(int namesize, void *namebuf)
+func X__xuname(t *TLS, namesize int32, namebuf uintptr) int32 {
+ return Xuname(t, namebuf)
+}
+
+// int chflags(const char *path, u_int flags);
+func Xchflags(t *TLS, path uintptr, flags uint64) int32 {
+ if err := unix.Chflags(GoString(path), int(flags)); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// int pipe(int pipefd[2]);
+func Xpipe(t *TLS, pipefd uintptr) int32 {
+ var a [2]int
+ if err := syscall.Pipe(a[:]); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ *(*[2]int32)(unsafe.Pointer(pipefd)) = [2]int32{int32(a[0]), int32(a[1])}
+ if dmesgs {
+ dmesg("%v: %v ok", origin(1), a)
+ }
+ return 0
+}
+
+// char *inet_ntoa(struct in_addr in);
+func X__inet_ntoa(t *TLS, in1 in.In_addr) uintptr {
+ panic(todo(""))
+}
+
+func Xmmap(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr {
+ // Cannot avoid the syscall here, addr sometimes matter.
+ data, _, err := unix.Syscall6(unix.SYS_MMAP, addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
+ if err != 0 {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return ^uintptr(0) // (void*)-1
+ }
+
+ if dmesgs {
+ dmesg("%v: %#x", origin(1), data)
+ }
+ return data
+}
+
+func X__errno(t *TLS) uintptr {
+ return X__errno_location(t)
+}
+
+func X__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:93:5: */
+ return (int32((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & uint32(3)))
+}
+
+func X__ccgo_getMutexType(tls *TLS, m uintptr) int32 { /* pthread_mutex_lock.c:3:5: */
+ return (*(*int32)(unsafe.Pointer((m /* &.__u */ /* &.__i */))) & 15)
+}
+
+func X__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:3:5: */
+ return *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4))
+}
+
+func Xpthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) int32 { /* pthread_attr_get.c:7:5: */
+ *(*int32)(unsafe.Pointer(state)) = *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4))
+ return 0
+}
+
+func Xpthread_attr_setdetachstate(tls *TLS, a uintptr, state int32) int32 { /* pthread_attr_setdetachstate.c:3:5: */
+ if uint32(state) > 1 {
+ return 22
+ }
+ *(*int32)(unsafe.Pointer((a /* &.__u */ /* &.__i */) + 6*4)) = state
+ return 0
+}
+
+func Xpthread_mutexattr_destroy(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_destroy.c:3:5: */
+ return 0
+}
+
+func Xpthread_mutexattr_init(tls *TLS, a uintptr) int32 { /* pthread_mutexattr_init.c:3:5: */
+ *(*pthread_mutexattr_t)(unsafe.Pointer(a)) = pthread_mutexattr_t{}
+ return 0
+}
+
+func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pthread_mutexattr_settype.c:3:5: */
+ if uint32(type1) > uint32(2) {
+ return 22
+ }
+ (*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr = (((*pthread_mutexattr_t)(unsafe.Pointer(a)).__attr & Uint32FromInt32(CplInt32(3))) | uint32(type1))
+ return 0
+}
diff --git a/vendor/modernc.org/libc/libc_netbsd_amd64.go b/vendor/modernc.org/libc/libc_netbsd_amd64.go
new file mode 100644
index 000000000..bfc2bb655
--- /dev/null
+++ b/vendor/modernc.org/libc/libc_netbsd_amd64.go
@@ -0,0 +1,577 @@
+// Copyright 2021 The Libc Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package libc // import "modernc.org/libc"
+
+import (
+ "strings"
+ "unsafe"
+
+ "golang.org/x/sys/unix"
+ "modernc.org/libc/fcntl"
+ "modernc.org/libc/sys/types"
+ "modernc.org/libc/time"
+ "modernc.org/libc/utime"
+)
+
+// int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
+func Xsigaction(t *TLS, signum int32, act, oldact uintptr) int32 {
+ panic(todo(""))
+ // if _, _, err := unix.Syscall(unix.SYS_SIGACTION, uintptr(signum), act, oldact); err != 0 {
+ // t.setErrno(err)
+ // return -1
+ // }
+
+ // return 0
+}
+
+// FILE *fopen64(const char *pathname, const char *mode);
+func Xfopen64(t *TLS, pathname, mode uintptr) uintptr {
+ m := strings.ReplaceAll(GoString(mode), "b", "")
+ var flags int
+ switch m {
+ case "r":
+ flags = fcntl.O_RDONLY
+ case "r+":
+ flags = fcntl.O_RDWR
+ case "w":
+ flags = fcntl.O_WRONLY | fcntl.O_CREAT | fcntl.O_TRUNC
+ case "w+":
+ flags = fcntl.O_RDWR | fcntl.O_CREAT | fcntl.O_TRUNC
+ case "a":
+ flags = fcntl.O_WRONLY | fcntl.O_CREAT | fcntl.O_APPEND
+ case "a+":
+ flags = fcntl.O_RDWR | fcntl.O_CREAT | fcntl.O_APPEND
+ default:
+ panic(m)
+ }
+ fd, err := unix.Open(GoString(pathname), int(flags), 0666)
+ if err != nil {
+ if dmesgs {
+ dmesg("%v: %q %q: %v FAIL", origin(1), GoString(pathname), GoString(mode), err)
+ }
+ t.setErrno(err)
+ return 0
+ }
+
+ if dmesgs {
+ dmesg("%v: %q %q: fd %v", origin(1), GoString(pathname), GoString(mode), fd)
+ }
+ if p := newFile(t, int32(fd)); p != 0 {
+ return p
+ }
+
+ panic("OOM")
+}
+
+// int lstat(const char *pathname, struct stat *statbuf);
+func Xlstat64(t *TLS, pathname, statbuf uintptr) int32 {
+ if err := unix.Lstat(GoString(pathname), (*unix.Stat_t)(unsafe.Pointer(statbuf))); err != nil {
+ if dmesgs {
+ dmesg("%v: %q: %v FAIL", origin(1), GoString(pathname), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %q: ok", origin(1), GoString(pathname))
+ }
+ return 0
+}
+
+// int stat(const char *pathname, struct stat *statbuf);
+func Xstat64(t *TLS, pathname, statbuf uintptr) int32 {
+ if err := unix.Stat(GoString(pathname), (*unix.Stat_t)(unsafe.Pointer(statbuf))); err != nil {
+ if dmesgs {
+ dmesg("%v: %q: %v FAIL", origin(1), GoString(pathname), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %q: ok", origin(1), GoString(pathname))
+ }
+ return 0
+}
+
+// int mkdir(const char *path, mode_t mode);
+func Xmkdir(t *TLS, path uintptr, mode types.Mode_t) int32 {
+ if err := unix.Mkdir(GoString(path), uint32(mode)); err != nil {
+ if dmesgs {
+ dmesg("%v: %q: %v FAIL", origin(1), GoString(path), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %q: ok", origin(1), GoString(path))
+ }
+ return 0
+}
+
+// int access(const char *pathname, int mode);
+func Xaccess(t *TLS, pathname uintptr, mode int32) int32 {
+ if err := unix.Access(GoString(pathname), uint32(mode)); err != nil {
+ if dmesgs {
+ dmesg("%v: %q %#o: %v FAIL", origin(1), GoString(pathname), mode, err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
+ }
+ return 0
+}
+
+// int unlink(const char *pathname);
+func Xunlink(t *TLS, pathname uintptr) int32 {
+ if err := unix.Unlink(GoString(pathname)); err != nil {
+ if dmesgs {
+ dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize);
+func Xreadlink(t *TLS, path, buf uintptr, bufsize types.Size_t) types.Ssize_t {
+ var n int
+ var err error
+ switch {
+ case buf == 0 || bufsize == 0:
+ n, err = unix.Readlink(GoString(path), nil)
+ default:
+ n, err = unix.Readlink(GoString(path), (*RawMem)(unsafe.Pointer(buf))[:bufsize:bufsize])
+ }
+ if err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok")
+ }
+ return types.Ssize_t(n)
+}
+
+// int symlink(const char *target, const char *linkpath);
+func Xsymlink(t *TLS, target, linkpath uintptr) int32 {
+ if err := unix.Symlink(GoString(target), GoString(linkpath)); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// int chmod(const char *pathname, mode_t mode)
+func Xchmod(t *TLS, pathname uintptr, mode types.Mode_t) int32 {
+ if err := unix.Chmod(GoString(pathname), uint32(mode)); err != nil {
+ if dmesgs {
+ dmesg("%v: %q %#o: %v FAIL", origin(1), GoString(pathname), mode, err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
+ }
+ return 0
+}
+
+// time_t time(time_t *tloc);
+func Xtime(t *TLS, tloc uintptr) time.Time_t {
+ panic(todo(""))
+ // n := time.Now().UTC().Unix()
+ // if tloc != 0 {
+ // *(*types.Time_t)(unsafe.Pointer(tloc)) = types.Time_t(n)
+ // }
+ // return types.Time_t(n)
+}
+
+// int utimes(const char *filename, const struct timeval times[2]);
+func Xutimes(t *TLS, filename, times uintptr) int32 {
+ var a []unix.Timeval
+ if times != 0 {
+ a = make([]unix.Timeval, 2)
+ a[0] = *(*unix.Timeval)(unsafe.Pointer(times))
+ a[1] = *(*unix.Timeval)(unsafe.Pointer(times + unsafe.Sizeof(unix.Timeval{})))
+ }
+ if err := unix.Utimes(GoString(filename), a); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// int fstat(int fd, struct stat *statbuf);
+func Xfstat64(t *TLS, fd int32, statbuf uintptr) int32 {
+ if err := unix.Fstat(int(fd), (*unix.Stat_t)(unsafe.Pointer(statbuf))); err != nil {
+ if dmesgs {
+ dmesg("%v: fd %d: %v FAIL", origin(1), fd, err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: fd %d: ok", origin(1), fd)
+ }
+ return 0
+}
+
+// off64_t lseek64(int fd, off64_t offset, int whence);
+func Xlseek64(t *TLS, fd int32, offset types.Off_t, whence int32) types.Off_t {
+ n, err := unix.Seek(int(fd), int64(offset), int(whence))
+ if err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return types.Off_t(n)
+}
+
+func Xfcntl64(t *TLS, fd, cmd int32, args uintptr) int32 {
+ var arg uintptr
+ if args != 0 {
+ arg = *(*uintptr)(unsafe.Pointer(args))
+ }
+ n, _, err := unix.Syscall(unix.SYS_FCNTL, uintptr(fd), uintptr(cmd), arg)
+ if err != 0 {
+ if dmesgs {
+ dmesg("%v: fd %v cmd %v", origin(1), fcntlCmdStr(fd), cmd)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: %d %s %#x: %d", origin(1), fd, fcntlCmdStr(cmd), arg, n)
+ }
+ return int32(n)
+}
+
+// int rename(const char *oldpath, const char *newpath);
+func Xrename(t *TLS, oldpath, newpath uintptr) int32 {
+ if err := unix.Rename(GoString(oldpath), GoString(newpath)); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// int mknod(const char *pathname, mode_t mode, dev_t dev);
+func Xmknod(t *TLS, pathname uintptr, mode types.Mode_t, dev types.Dev_t) int32 {
+ panic(todo(""))
+ // if _, _, err := unix.Syscall(unix.SYS_MKNOD, pathname, uintptr(mode), uintptr(dev)); err != 0 {
+ // t.setErrno(err)
+ // return -1
+ // }
+
+ // return 0
+}
+
+// int utime(const char *filename, const struct utimbuf *times);
+func Xutime(t *TLS, filename, times uintptr) int32 {
+ var a []unix.Timeval
+ if times != 0 {
+ a = make([]unix.Timeval, 2)
+ a[0].Sec = (*utime.Utimbuf)(unsafe.Pointer(times)).Factime
+ a[1].Sec = (*utime.Utimbuf)(unsafe.Pointer(times)).Fmodtime
+ }
+ if err := unix.Utimes(GoString(filename), a); err != nil {
+ if dmesgs {
+ dmesg("%v: %v FAIL", origin(1), err)
+ }
+ t.setErrno(err)
+ return -1
+ }
+
+ if dmesgs {
+ dmesg("%v: ok", origin(1))
+ }
+ return 0
+}
+
+// int chown(const char *pathname, uid_t owner, gid_t group);
+func Xchown(t *TLS, pathname uintptr, owner types.Uid_t, group types.Gid_t) int32 {
+ panic(todo(""))
+ // if _, _, err := unix.Syscall(unix.SYS_CHOWN, pathname, uintptr(owner), uintptr(group)); err != 0 {
+ // t.setErrno(err)
+ // return -1
+ // }
+
+ // return 0
+}
+
+// int link(const char *oldpath, const char *newpath);
+func Xlink(t *TLS, oldpath, newpath uintptr) int32 {
+ panic(todo(""))
+ // if _, _, err := unix.Syscall(unix.SYS_LINK, oldpath, newpath, 0); err != 0 {
+ // t.setErrno(err)
+ // return -1
+ // }
+
+ // return 0
+}
+
+// int dup2(int oldfd, int newfd);
+func Xdup2(t *TLS, oldfd, newfd int32) int32 {
+ panic(todo(""))
+ // n, _, err := unix.Syscall(unix.SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
+ // if err != 0 {
+ // t.setErrno(err)
+ // return -1
+ // }
+
+ // return int32(n)
+}
+
+// unsigned int alarm(unsigned int seconds);
+func Xalarm(t *TLS, seconds uint32) uint32 {
+ panic(todo(""))
+ // n, _, err := unix.Syscall(unix.SYS_ALARM, uintptr(seconds), 0, 0)
+ // if err != 0 {
+ // panic(todo(""))
+ // }
+
+ // return uint32(n)
+}
+
+// int getnameinfo(const struct sockaddr * restrict sa, socklen_t salen, char * restrict host, socklen_t hostlen, char * restrict serv, socklen_t servlen, int flags);
+func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen socklen_t, serv uintptr, servlen socklen_t, flags int32) int32 { /* getnameinfo.c:125:5: */
+ panic(todo(""))
+ //TODO bp := tls.Alloc(347)
+ //TODO defer tls.Free(347)
+
+ //TODO // var ptr [78]int8 at bp, 78
+
+ //TODO // var buf [256]int8 at bp+78, 256
+
+ //TODO // var num [13]int8 at bp+334, 13
+
+ //TODO var af int32 = int32((*sockaddr)(unsafe.Pointer(sa1)).sa_family)
+ //TODO var a uintptr
+ //TODO var scopeid uint32
+
+ //TODO switch af {
+ //TODO case 2:
+ //TODO a = (sa1 + 4 /* &.sin_addr */)
+ //TODO if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in{}))) {
+ //TODO return -6
+ //TODO }
+ //TODO mkptr4(tls, bp /* &ptr[0] */, a)
+ //TODO scopeid = uint32(0)
+ //TODO break
+ //TODO case 10:
+ //TODO a = (sa1 + 8 /* &.sin6_addr */)
+ //TODO if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in6{}))) {
+ //TODO return -6
+ //TODO }
+ //TODO if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ //TODO mkptr6(tls, bp /* &ptr[0] */, a)
+ //TODO } else {
+ //TODO mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
+ //TODO }
+ //TODO scopeid = (*sockaddr_in6)(unsafe.Pointer(sa1)).sin6_scope_id
+ //TODO break
+ //TODO default:
+ //TODO return -6
+ //TODO }
+
+ //TODO if (node != 0) && (nodelen != 0) {
+ //TODO *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ //TODO if !((flags & 0x01) != 0) {
+ //TODO reverse_hosts(tls, bp+78 /* &buf[0] */, a, scopeid, af)
+ //TODO }
+ //TODO if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
+ //TODO Xabort(tls) //TODO-
+ //TODO // unsigned char query[18+PTR_MAX], reply[512];
+ //TODO // int qlen = __res_mkquery(0, ptr, 1, RR_PTR,
+ //TODO // 0, 0, 0, query, sizeof query);
+ //TODO // query[3] = 0; /* don't need AD flag */
+ //TODO // int rlen = __res_send(query, qlen, reply, sizeof reply);
+ //TODO // buf[0] = 0;
+ //TODO // if (rlen > 0)
+ //TODO // __dns_parse(reply, rlen, dns_parse_callback, buf);
+ //TODO }
+ //TODO if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
+ //TODO if (flags & 0x08) != 0 {
+ //TODO return -2
+ //TODO }
+ //TODO Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]int8{})))
+ //TODO if scopeid != 0 {
+ //TODO Xabort(tls) //TODO-
+ //TODO // char *p = 0, tmp[IF_NAMESIZE+1];
+ //TODO // if (!(flags & NI_NUMERICSCOPE) &&
+ //TODO // (IN6_IS_ADDR_LINKLOCAL(a) ||
+ //TODO // IN6_IS_ADDR_MC_LINKLOCAL(a)))
+ //TODO // p = if_indextoname(scopeid, tmp+1);
+ //TODO // if (!p)
+ //TODO // p = itoa(num, scopeid);
+ //TODO // *--p = '%';
+ //TODO // strcat(buf, p);
+ //TODO }
+ //TODO }
+ //TODO if Xstrlen(tls, bp+78 /* &buf[0] */) >= size_t(nodelen) {
+ //TODO return -12
+ //TODO }
+ //TODO Xstrcpy(tls, node, bp+78 /* &buf[0] */)
+ //TODO }
+
+ //TODO if (serv != 0) && (servlen != 0) {
+ //TODO var p uintptr = bp + 78 /* buf */
+ //TODO var port int32 = int32(Xntohs(tls, (*sockaddr_in)(unsafe.Pointer(sa1)).sin_port))
+ //TODO *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ //TODO if !((flags & 0x02) != 0) {
+ //TODO reverse_services(tls, bp+78 /* &buf[0] */, port, (flags & 0x10))
+ //TODO }
+ //TODO if !(int32(*(*int8)(unsafe.Pointer(p))) != 0) {
+ //TODO p = itoa(tls, bp+334 /* &num[0] */, uint32(port))
+ //TODO }
+ //TODO if Xstrlen(tls, p) >= size_t(servlen) {
+ //TODO return -12
+ //TODO }
+ //TODO Xstrcpy(tls, serv, p)
+ //TODO }
+
+ //TODO return 0
+}
+
+func Xgethostbyaddr_r(tls *TLS, a uintptr, l socklen_t, af int32, h uintptr, buf uintptr, buflen size_t, res uintptr, err uintptr) int32 { /* gethostbyaddr_r.c:10:5: */
+ panic(todo(""))
+ //TODO bp := tls.Alloc(28)
+ //TODO defer tls.Free(28)
+
+ //TODO //TODO union {
+ //TODO //TODO struct sockaddr_in sin;
+ //TODO //TODO struct sockaddr_in6 sin6;
+ //TODO //TODO } sa = { .sin.sin_family = af };
+ //TODO *(*struct {
+ //TODO sin sockaddr_in
+ //TODO _ [12]byte
+ //TODO })(unsafe.Pointer(bp /* sa1 */)) = struct {
+ //TODO sin sockaddr_in
+ //TODO _ [12]byte
+ //TODO }{} //TODO-
+ //TODO (*sockaddr_in)(unsafe.Pointer(bp /* &sa1 */)).sin_family = sa_family_t(af) //TODO-
+ //TODO var sl socklen_t
+ //TODO if af == 10 {
+ //TODO sl = uint32(unsafe.Sizeof(sockaddr_in6{}))
+ //TODO } else {
+ //TODO sl = uint32(unsafe.Sizeof(sockaddr_in{}))
+ //TODO }
+ //TODO var i int32
+
+ //TODO *(*uintptr)(unsafe.Pointer(res)) = uintptr(0)
+
+ //TODO // Load address argument into sockaddr structure
+ //TODO if (af == 10) && (l == socklen_t(16)) {
+ //TODO Xmemcpy(tls, (bp /* &sa1 */ /* &.sin6 */ + 8 /* &.sin6_addr */), a, uint64(16))
+ //TODO } else if (af == 2) && (l == socklen_t(4)) {
+ //TODO Xmemcpy(tls, (bp /* &sa1 */ /* &.sin */ + 4 /* &.sin_addr */), a, uint64(4))
+ //TODO } else {
+ //TODO *(*int32)(unsafe.Pointer(err)) = 3
+ //TODO return 22
+ //TODO }
+
+ //TODO // Align buffer and check for space for pointers and ip address
+ //TODO i = (int32(uintptr_t(buf) & (uint64(unsafe.Sizeof(uintptr(0))) - uint64(1))))
+ //TODO if !(i != 0) {
+ //TODO i = int32(unsafe.Sizeof(uintptr(0)))
+ //TODO }
+ //TODO if buflen <= (((uint64(5) * uint64(unsafe.Sizeof(uintptr(0)))) - uint64(i)) + uint64(l)) {
+ //TODO return 34
+ //TODO }
+ //TODO buf += (uintptr(uint64(unsafe.Sizeof(uintptr(0))) - uint64(i)))
+ //TODO buflen = buflen - (((uint64(5) * uint64(unsafe.Sizeof(uintptr(0)))) - uint64(i)) + uint64(l))
+
+ //TODO (*hostent)(unsafe.Pointer(h)).h_addr_list = buf
+ //TODO buf += (uintptr(uint64(2) * uint64(unsafe.Sizeof(uintptr(0)))))
+ //TODO (*hostent)(unsafe.Pointer(h)).h_aliases = buf
+ //TODO buf += (uintptr(uint64(2) * uint64(unsafe.Sizeof(uintptr(0)))))
+
+ //TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list)) = buf
+ //TODO Xmemcpy(tls, *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list)), a, uint64(l))
+ //TODO buf += uintptr(l)
+ //TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list + 1*8)) = uintptr(0)
+ //TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases)) = buf
+ //TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 1*8)) = uintptr(0)
+
+ //TODO switch Xgetnameinfo(tls, bp /* &sa1 */, sl, buf, uint32(buflen), uintptr(0), uint32(0), 0) {
+ //TODO case -3:
+ //TODO *(*int32)(unsafe.Pointer(err)) = 2
+ //TODO return 11
+ //TODO case -12:
+ //TODO return 34
+ //TODO default:
+ //TODO fallthrough
+ //TODO case -10:
+ //TODO fallthrough
+ //TODO case -11:
+ //TODO fallthrough
+ //TODO case -4:
+ //TODO *(*int32)(unsafe.Pointer(err)) = 3
+ //TODO return *(*int32)(unsafe.Pointer(X___errno_location(tls)))
+ //TODO case 0:
+ //TODO break
+ //TODO }
+
+ //TODO (*hostent)(unsafe.Pointer(h)).h_addrtype = af
+ //TODO (*hostent)(unsafe.Pointer(h)).h_length = int32(l)
+ //TODO (*hostent)(unsafe.Pointer(h)).h_name = *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases))
+ //TODO *(*uintptr)(unsafe.Pointer(res)) = h
+ //TODO return 0
+}
+
+// int getrlimit(int resource, struct rlimit *rlim);
+func Xgetrlimit64(t *TLS, resource int32, rlim uintptr) int32 {
+ if _, _, err := unix.Syscall(unix.SYS_GETRLIMIT, uintptr(resource), uintptr(rlim), 0); err != 0 {
+ t.setErrno(err)
+ return -1
+ }
+
+ return 0
+}
diff --git a/vendor/modernc.org/libc/libc_unix.go b/vendor/modernc.org/libc/libc_unix.go
index f311092e6..81cdc8ab2 100644
--- a/vendor/modernc.org/libc/libc_unix.go
+++ b/vendor/modernc.org/libc/libc_unix.go
@@ -2,15 +2,17 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build linux || darwin || freebsd
-// +build linux darwin freebsd
+//go:build linux || darwin || freebsd || netbsd
+// +build linux darwin freebsd netbsd
package libc // import "modernc.org/libc"
import (
+ "io/ioutil"
"os"
gosignal "os/signal"
"reflect"
+ "strings"
"syscall"
"unsafe"
@@ -217,3 +219,45 @@ func Xgetresuid(t *TLS, ruid, euid, suid uintptr) int32 {
func Xgetresgid(t *TLS, rgid, egid, sgid uintptr) int32 {
panic(todo(""))
}
+
+// FILE *tmpfile(void);
+func Xtmpfile(t *TLS) uintptr {
+ f, err := ioutil.TempFile("", "tmpfile-")
+ if err != nil {
+ t.setErrno(err)
+ return 0
+ }
+
+ cf := newFile(t, int32(f.Fd()))
+ AtExit(func() {
+ nm := f.Name()
+ file(cf).close(t)
+ os.Remove(nm)
+ })
+
+ return cf
+}
+
+// FILE *fdopen(int fd, const char *mode);
+func Xfdopen(t *TLS, fd int32, mode uintptr) uintptr {
+ m := strings.ReplaceAll(GoString(mode), "b", "")
+ switch m {
+ case
+ "a",
+ "a+",
+ "r",
+ "r+",
+ "w",
+ "w+":
+ default:
+ t.setErrno(errno.EINVAL)
+ return 0
+ }
+
+ if p := newFile(t, fd); p != 0 {
+ return p
+ }
+
+ t.setErrno(errno.EINVAL)
+ return 0
+}
diff --git a/vendor/modernc.org/libc/libc_windows.go b/vendor/modernc.org/libc/libc_windows.go
index 8959dab57..d2195b92f 100644
--- a/vendor/modernc.org/libc/libc_windows.go
+++ b/vendor/modernc.org/libc/libc_windows.go
@@ -8,13 +8,6 @@ import (
"errors"
"fmt"
"math"
- "modernc.org/libc/errno"
- "modernc.org/libc/fcntl"
- "modernc.org/libc/limits"
- "modernc.org/libc/sys/stat"
- "modernc.org/libc/sys/types"
- "modernc.org/libc/time"
- "modernc.org/libc/unistd"
"os"
"os/exec"
"path/filepath"
@@ -26,15 +19,42 @@ import (
"unicode"
"unicode/utf16"
"unsafe"
+
+ "modernc.org/libc/errno"
+ "modernc.org/libc/fcntl"
+ "modernc.org/libc/limits"
+ "modernc.org/libc/stdio"
+ "modernc.org/libc/sys/stat"
+ "modernc.org/libc/sys/types"
+ "modernc.org/libc/time"
+ "modernc.org/libc/unistd"
)
// Keep these outside of the var block otherwise go generate will miss them.
var X__imp__environ = EnvironP()
var X_imp___environ = EnvironP()
+var X_iob [stdio.X_IOB_ENTRIES]stdio.FILE
var Xtimezone long // extern long timezone;
+var iobMap = map[uintptr]int32{} // &_iob[fd] -> fd
+
+func init() {
+ for i := range X_iob {
+ iobMap[uintptr(unsafe.Pointer(&X_iob[i]))] = int32(i)
+ }
+}
+
+func winGetObject(stream uintptr) interface{} {
+ if fd, ok := iobMap[stream]; ok {
+ f, _ := fdToFile(fd)
+ return f
+ }
+
+ return getObject(stream)
+}
+
type (
long = int32
ulong = uint32
@@ -43,86 +63,96 @@ type (
var (
modkernel32 = syscall.NewLazyDLL("kernel32.dll")
//--
- procGetLastError = modkernel32.NewProc("GetLastError")
- procGetSystemInfo = modkernel32.NewProc("GetSystemInfo")
- procSetConsoleCtrlHandler = modkernel32.NewProc("SetConsoleCtrlHandler")
- procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo")
- procSetConsoleTextAttribute = modkernel32.NewProc("SetConsoleTextAttribute")
- procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar")
- procWideCharToMultiByte = modkernel32.NewProc("WideCharToMultiByte")
- procGetVersionExA = modkernel32.NewProc("GetVersionExA")
- procGetVersionExW = modkernel32.NewProc("GetVersionExW")
- procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW")
- procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW")
- procGetFileAttributesExA = modkernel32.NewProc("GetFileAttributesExA")
- procCreateFileW = modkernel32.NewProc("CreateFileW")
+ procAreFileApisANSI = modkernel32.NewProc("AreFileApisANSI")
+ procCopyFileW = modkernel32.NewProc("CopyFileW")
+ procCreateEventA = modkernel32.NewProc("CreateEventA")
+ procCreateEventW = modkernel32.NewProc("CreateEventW")
procCreateFileA = modkernel32.NewProc("CreateFileA")
- procReadFile = modkernel32.NewProc("ReadFile")
- procWriteFile = modkernel32.NewProc("WriteFile")
- procFormatMessageW = modkernel32.NewProc("FormatMessageW")
- procLockFileEx = modkernel32.NewProc("LockFileEx")
- procUnlockFileEx = modkernel32.NewProc("UnlockFileEx")
- procGetFileSize = modkernel32.NewProc("GetFileSize")
- procGetSystemTime = modkernel32.NewProc("GetSystemTime")
- procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime")
- procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId")
- procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess")
- procGetTickCount = modkernel32.NewProc("GetTickCount")
- procQueryPerformanceCounter = modkernel32.NewProc("QueryPerformanceCounter")
procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW")
- procMapViewOfFile = modkernel32.NewProc("MapViewOfFile")
+ procCreateFileW = modkernel32.NewProc("CreateFileW")
+ procCreatePipe = modkernel32.NewProc("CreatePipe")
procCreateProcessA = modkernel32.NewProc("CreateProcessA")
- procInitializeCriticalSection = modkernel32.NewProc("InitializeCriticalSection")
- procEnterCriticalSection = modkernel32.NewProc("EnterCriticalSection")
- procLeaveCriticalSection = modkernel32.NewProc("LeaveCriticalSection")
+ procCreateProcessW = modkernel32.NewProc("CreateProcessW")
+ procCreateThread = modkernel32.NewProc("CreateThread")
procDeleteCriticalSection = modkernel32.NewProc("DeleteCriticalSection")
- procSetFilePointer = modkernel32.NewProc("SetFilePointer")
- procGetModuleHandleW = modkernel32.NewProc("GetModuleHandleW")
- procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW")
- procGetProcAddress = modkernel32.NewProc("GetProcAddress")
- procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId")
- procCreateEventA = modkernel32.NewProc("CreateEventA")
- procCreateEventW = modkernel32.NewProc("CreateEventW")
- procGetACP = modkernel32.NewProc("GetACP")
- procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW")
- procGetEnvironmentVariableA = modkernel32.NewProc("GetEnvironmentVariableA")
+ procDeviceIoControl = modkernel32.NewProc("DeviceIoControl")
+ procDuplicateHandle = modkernel32.NewProc("DuplicateHandle")
+ procEnterCriticalSection = modkernel32.NewProc("EnterCriticalSection")
+ procFindClose = modkernel32.NewProc("FindClose")
+ procFindFirstFileExW = modkernel32.NewProc("FindFirstFileExW")
procFindFirstFileW = modkernel32.NewProc("FindFirstFileW")
procFindNextFileW = modkernel32.NewProc("FindNextFileW")
- procFindClose = modkernel32.NewProc("FindClose")
- procLstrlenW = modkernel32.NewProc("lstrlenW")
- procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle")
- procQueryPerformanceFrequency = modkernel32.NewProc("QueryPerformanceFrequency")
+ procFormatMessageW = modkernel32.NewProc("FormatMessageW")
+ procGetACP = modkernel32.NewProc("GetACP")
procGetCommState = modkernel32.NewProc("GetCommState")
procGetConsoleCP = modkernel32.NewProc("GetConsoleCP")
- procSetConsoleMode = modkernel32.NewProc("SetConsoleMode")
- procCreateThread = modkernel32.NewProc("CreateThread")
- procWriteConsoleW = modkernel32.NewProc("WriteConsoleW")
- procWriteConsoleA = modkernel32.NewProc("WriteConsoleA")
- procCreatePipe = modkernel32.NewProc("CreatePipe")
+ procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo")
+ procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess")
+ procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId")
+ procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId")
+ procGetEnvironmentVariableA = modkernel32.NewProc("GetEnvironmentVariableA")
+ procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW")
+ procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess")
+ procGetExitCodeThread = modkernel32.NewProc("GetExitCodeThread")
+ procGetFileAttributesExA = modkernel32.NewProc("GetFileAttributesExA")
+ procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW")
+ procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle")
+ procGetFileSize = modkernel32.NewProc("GetFileSize")
+ procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW")
+ procGetLastError = modkernel32.NewProc("GetLastError")
+ procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW")
+ procGetModuleHandleA = modkernel32.NewProc("GetModuleHandleA")
+ procGetModuleHandleW = modkernel32.NewProc("GetModuleHandleW")
+ procGetProcAddress = modkernel32.NewProc("GetProcAddress")
+ procGetProcessHeap = modkernel32.NewProc("GetProcessHeap")
+ procGetSystemInfo = modkernel32.NewProc("GetSystemInfo")
+ procGetSystemTime = modkernel32.NewProc("GetSystemTime")
+ procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime")
procGetTempFileNameW = modkernel32.NewProc("GetTempFileNameW")
- procSearchPathW = modkernel32.NewProc("SearchPathW")
- procDuplicateHandle = modkernel32.NewProc("DuplicateHandle")
- procCreateProcessW = modkernel32.NewProc("CreateProcessW")
+ procGetTickCount = modkernel32.NewProc("GetTickCount")
+ procGetVersionExA = modkernel32.NewProc("GetVersionExA")
+ procGetVersionExW = modkernel32.NewProc("GetVersionExW")
+ procHeapAlloc = modkernel32.NewProc("HeapAlloc")
+ procInitializeCriticalSection = modkernel32.NewProc("InitializeCriticalSection")
+ procLeaveCriticalSection = modkernel32.NewProc("LeaveCriticalSection")
+ procLockFile = modkernel32.NewProc("LockFile")
+ procLockFileEx = modkernel32.NewProc("LockFileEx")
+ procLstrlenW = modkernel32.NewProc("lstrlenW")
+ procMapViewOfFile = modkernel32.NewProc("MapViewOfFile")
+ procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar")
+ procOpenEventA = modkernel32.NewProc("OpenEventA")
+ procPeekConsoleInputW = modkernel32.NewProc("PeekConsoleInputW")
procPeekNamedPipe = modkernel32.NewProc("PeekNamedPipe")
+ procQueryPerformanceCounter = modkernel32.NewProc("QueryPerformanceCounter")
+ procQueryPerformanceFrequency = modkernel32.NewProc("QueryPerformanceFrequency")
+ procReadConsoleW = modkernel32.NewProc("ReadConsoleW")
+ procReadFile = modkernel32.NewProc("ReadFile")
procResetEvent = modkernel32.NewProc("ResetEvent")
+ procSearchPathW = modkernel32.NewProc("SearchPathW")
+ procSetConsoleCtrlHandler = modkernel32.NewProc("SetConsoleCtrlHandler")
+ procSetConsoleMode = modkernel32.NewProc("SetConsoleMode")
+ procSetConsoleTextAttribute = modkernel32.NewProc("SetConsoleTextAttribute")
procSetEvent = modkernel32.NewProc("SetEvent")
- procCopyFileW = modkernel32.NewProc("CopyFileW")
- procDeviceIoControl = modkernel32.NewProc("DeviceIoControl")
+ procSetFilePointer = modkernel32.NewProc("SetFilePointer")
procSleepEx = modkernel32.NewProc("SleepEx")
- procPeekConsoleInputW = modkernel32.NewProc("PeekConsoleInputW")
- procReadConsoleW = modkernel32.NewProc("ReadConsoleW")
- procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess")
- procWaitForSingleObjectEx = modkernel32.NewProc("WaitForSingleObjectEx")
- procAreFileApisANSI = modkernel32.NewProc("AreFileApisANSI")
- procOpenEventA = modkernel32.NewProc("OpenEventA")
- procLockFile = modkernel32.NewProc("LockFile")
+ procSystemTimeToFileTime = modkernel32.NewProc("SystemTimeToFileTime")
procUnlockFile = modkernel32.NewProc("UnlockFile")
- procGetExitCodeThread = modkernel32.NewProc("GetExitCodeThread")
+ procUnlockFileEx = modkernel32.NewProc("UnlockFileEx")
+ procWaitForSingleObjectEx = modkernel32.NewProc("WaitForSingleObjectEx")
+ procWideCharToMultiByte = modkernel32.NewProc("WideCharToMultiByte")
+ procWriteConsoleA = modkernel32.NewProc("WriteConsoleA")
+ procWriteConsoleW = modkernel32.NewProc("WriteConsoleW")
+ procWriteFile = modkernel32.NewProc("WriteFile")
// procSetConsoleCP = modkernel32.NewProc("SetConsoleCP")
// procSetThreadPriority = modkernel32.NewProc("SetThreadPriority")
//--
+ modadvapi = syscall.NewLazyDLL("advapi32.dll")
+ //--
+ procGetFileSecurityW = modadvapi.NewProc("GetFileSecurityW")
+ //--
+
modws2_32 = syscall.NewLazyDLL("ws2_32.dll")
//--
procWSAStartup = modws2_32.NewProc("WSAStartup")
@@ -168,7 +198,6 @@ type file struct {
func addFile(hdl syscall.Handle, fd int32) uintptr {
var f = file{_fd: fd, Handle: hdl}
-
w_fdLock.Lock()
defer w_fdLock.Unlock()
w_fd_to_file[fd] = &f
@@ -177,9 +206,7 @@ func addFile(hdl syscall.Handle, fd int32) uintptr {
}
func remFile(f *file) {
-
removeObject(f.t)
-
w_fdLock.Lock()
defer w_fdLock.Unlock()
delete(w_fd_to_file, f._fd)
@@ -194,7 +221,7 @@ func fdToFile(fd int32) (*file, bool) {
// Wrap the windows handle up tied to a unique fd
func wrapFdHandle(hdl syscall.Handle) (uintptr, int32) {
- var newFd = atomic.AddInt32(&w_nextFd, 1)
+ newFd := atomic.AddInt32(&w_nextFd, 1)
return addFile(hdl, newFd), newFd
}
@@ -252,7 +279,6 @@ func newFile(t *TLS, fd int32) uintptr {
}
func (f *file) close(t *TLS) int32 {
-
remFile(f)
err := syscall.Close(f.Handle)
if err != nil {
@@ -279,11 +305,12 @@ func fwrite(fd int32, b []byte) (int, error) {
// int fprintf(FILE *stream, const char *format, ...);
func Xfprintf(t *TLS, stream, format, args uintptr) int32 {
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
}
+
n, _ := fwrite(f._fd, printf(format, args))
return int32(n)
}
@@ -305,51 +332,6 @@ func Xgetrusage(t *TLS, who int32, usage uintptr) int32 {
// return 0
}
-// char *fgets(char *s, int size, FILE *stream);
-func Xfgets(t *TLS, s uintptr, size int32, stream uintptr) uintptr {
-
- f, ok := getObject(stream).(*file)
- if !ok {
- t.setErrno(errno.EBADF)
- return 0
- }
-
- var b []byte
- buf := [1]byte{}
- for ; size > 0; size-- {
- n, err := syscall.Read(f.Handle, buf[:])
- if n != 0 {
- b = append(b, buf[0])
- if buf[0] == '\n' {
- b = append(b, 0)
- copy((*RawMem)(unsafe.Pointer(s))[:len(b):len(b)], b)
- return s
- }
- continue
- }
-
- switch {
- case n == 0 && err == nil && len(b) == 0:
- return 0
- default:
- panic(todo(""))
- }
-
- // if err == nil {
- // panic("internal error")
- // }
-
- // if len(b) != 0 {
- // b = append(b, 0)
- // copy((*RawMem)(unsafe.Pointer(s)[:len(b)]), b)
- // return s
- // }
-
- // t.setErrno(err)
- }
- panic(todo(""))
-}
-
// int lstat(const char *pathname, struct stat *statbuf);
func Xlstat(t *TLS, pathname, statbuf uintptr) int32 {
return Xlstat64(t, pathname, statbuf)
@@ -378,7 +360,6 @@ var localtime time.Tm
// struct tm *localtime(const time_t *timep);
func Xlocaltime(_ *TLS, timep uintptr) uintptr {
-
loc := gotime.Local
if r := getenv(Environ(), "TZ"); r != 0 {
zone, off := parseZone(GoString(r))
@@ -400,24 +381,7 @@ func Xlocaltime(_ *TLS, timep uintptr) uintptr {
// struct tm *localtime(const time_t *timep);
func X_localtime64(_ *TLS, timep uintptr) uintptr {
- panic(todo(""))
- // loc := gotime.Local
- // if r := getenv(Environ(), "TZ"); r != 0 {
- // zone, off := parseZone(GoString(r))
- // loc = gotime.FixedZone(zone, -off)
- // }
- // ut := *(*unix.Time_t)(unsafe.Pointer(timep))
- // t := gotime.Unix(int64(ut), 0).In(loc)
- // localtime.Ftm_sec = int32(t.Second())
- // localtime.Ftm_min = int32(t.Minute())
- // localtime.Ftm_hour = int32(t.Hour())
- // localtime.Ftm_mday = int32(t.Day())
- // localtime.Ftm_mon = int32(t.Month() - 1)
- // localtime.Ftm_year = int32(t.Year() - 1900)
- // localtime.Ftm_wday = int32(t.Weekday())
- // localtime.Ftm_yday = int32(t.YearDay())
- // localtime.Ftm_isdst = Bool32(isTimeDST(t))
- // return uintptr(unsafe.Pointer(&localtime))
+ return Xlocaltime(nil, timep)
}
// struct tm *localtime_r(const time_t *timep, struct tm *result);
@@ -480,7 +444,7 @@ func Xopen64(t *TLS, pathname uintptr, flags int32, cmode uintptr) int32 {
var mode types.Mode_t
if cmode != 0 {
- mode = *(*types.Mode_t)(unsafe.Pointer(cmode))
+ mode = (types.Mode_t)(VaUint32(&cmode))
}
// fdcwd := fcntl.AT_FDCWD
h, err := syscall.Open(GoString(pathname), int(flags), uint32(mode))
@@ -974,13 +938,12 @@ func Xbacktrace_symbols_fd(t *TLS, buffer uintptr, size, fd int32) {
// int fileno(FILE *stream);
func Xfileno(t *TLS, stream uintptr) int32 {
-
if stream == 0 {
t.setErrno(errno.EBADF)
return -1
}
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1351,7 +1314,7 @@ func Xfts_read(t *TLS, ftsp uintptr) uintptr {
// FTSENT *fts_read(FTS *ftsp);
func Xfts64_read(t *TLS, ftsp uintptr) uintptr {
panic(todo(""))
- // f := getObject(ftsp).(*ftstream)
+ // f := winGetObject(ftsp).(*ftstream)
// if f.x == len(f.s) {
// t.setErrno(0)
// return 0
@@ -1373,7 +1336,7 @@ func Xfts_close(t *TLS, ftsp uintptr) int32 {
// int fts_close(FTS *ftsp);
func Xfts64_close(t *TLS, ftsp uintptr) int32 {
panic(todo(""))
- // getObject(ftsp).(*ftstream).close(t)
+ // winGetObject(ftsp).(*ftstream).close(t)
// removeObject(ftsp)
// return 0
}
@@ -1538,8 +1501,7 @@ func Xabort(t *TLS) {
// int fflush(FILE *stream);
func Xfflush(t *TLS, stream uintptr) int32 {
-
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1554,7 +1516,7 @@ func Xfflush(t *TLS, stream uintptr) int32 {
// size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
func Xfread(t *TLS, ptr uintptr, size, nmemb types.Size_t, stream uintptr) types.Size_t {
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return 0
@@ -1579,12 +1541,11 @@ func Xfread(t *TLS, ptr uintptr, size, nmemb types.Size_t, stream uintptr) types
// size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
func Xfwrite(t *TLS, ptr uintptr, size, nmemb types.Size_t, stream uintptr) types.Size_t {
-
if ptr == 0 || size == 0 {
return 0
}
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return 0
@@ -1607,8 +1568,7 @@ func Xfwrite(t *TLS, ptr uintptr, size, nmemb types.Size_t, stream uintptr) type
// int fclose(FILE *stream);
func Xfclose(t *TLS, stream uintptr) int32 {
-
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1618,8 +1578,7 @@ func Xfclose(t *TLS, stream uintptr) int32 {
// int fputc(int c, FILE *stream);
func Xfputc(t *TLS, c int32, stream uintptr) int32 {
-
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1632,8 +1591,7 @@ func Xfputc(t *TLS, c int32, stream uintptr) int32 {
// int fseek(FILE *stream, long offset, int whence);
func Xfseek(t *TLS, stream uintptr, offset long, whence int32) int32 {
-
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1654,8 +1612,7 @@ func Xfseek(t *TLS, stream uintptr, offset long, whence int32) int32 {
// long ftell(FILE *stream);
func Xftell(t *TLS, stream uintptr) long {
-
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1675,7 +1632,7 @@ func Xftell(t *TLS, stream uintptr) long {
// int ferror(FILE *stream);
func Xferror(t *TLS, stream uintptr) int32 {
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1684,14 +1641,20 @@ func Xferror(t *TLS, stream uintptr) int32 {
return Bool32(f.err())
}
-// int fgetc(FILE *stream);
+// int getc(FILE *stream);
func Xfgetc(t *TLS, stream uintptr) int32 {
- panic(todo(""))
-}
+ f, ok := winGetObject(stream).(*file)
+ if !ok {
+ t.setErrno(errno.EBADF)
+ return stdio.EOF
+ }
-// int getc(FILE *stream);
-func Xgetc(t *TLS, stream uintptr) int32 {
- return Xfgetc(t, stream)
+ var buf [1]byte
+ if n, _ := syscall.Read(f.Handle, buf[:]); n != 0 {
+ return int32(buf[0])
+ }
+
+ return stdio.EOF
}
// int ungetc(int c, FILE *stream);
@@ -1704,15 +1667,9 @@ func Xfscanf(t *TLS, stream, format, va uintptr) int32 {
panic(todo(""))
}
-// FILE *fdopen(int fd, const char *mode);
-func Xfdopen(t *TLS, fd int32, mode uintptr) uintptr {
- panic(todo(""))
-}
-
// int fputs(const char *s, FILE *stream);
func Xfputs(t *TLS, s, stream uintptr) int32 {
-
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -1913,7 +1870,11 @@ func XHeapFree(t *TLS, hHeap uintptr, dwFlags uint32, lpMem uintptr) int32 {
// HANDLE GetProcessHeap();
func XGetProcessHeap(t *TLS) uintptr {
- panic(todo(""))
+ r0, _, err := syscall.Syscall(procGetProcessHeap.Addr(), 0, 0, 0, 0)
+ if r0 == 0 {
+ t.setErrno(err)
+ }
+ return r0
}
// LPVOID HeapAlloc(
@@ -1922,7 +1883,11 @@ func XGetProcessHeap(t *TLS) uintptr {
// SIZE_T dwBytes
// );
func XHeapAlloc(t *TLS, hHeap uintptr, dwFlags uint32, dwBytes types.Size_t) uintptr {
- panic(todo(""))
+ r0, _, err := syscall.Syscall(procHeapAlloc.Addr(), 3, hHeap, uintptr(dwFlags), uintptr(dwBytes))
+ if r0 == 0 {
+ t.setErrno(err)
+ }
+ return r0
}
// WCHAR * gai_strerrorW(
@@ -2379,7 +2344,7 @@ func (ta *ThreadAdapter) run() uintptr {
}
func ThreadProc(p uintptr) uintptr {
- adp, ok := getObject(p).(*ThreadAdapter)
+ adp, ok := winGetObject(p).(*ThreadAdapter)
if !ok {
panic("invalid thread")
}
@@ -2628,6 +2593,27 @@ func XFindFirstFileW(t *TLS, lpFileName, lpFindFileData uintptr) uintptr {
return r0
}
+// HANDLE FindFirstFileExW(
+// LPCWSTR lpFileName,
+// FINDEX_INFO_LEVELS fInfoLevelId,
+// LPVOID lpFindFileData,
+// FINDEX_SEARCH_OPS fSearchOp,
+// LPVOID lpSearchFilter,
+// DWORD dwAdditionalFlags
+// );
+func XFindFirstFileExW(t *TLS, lpFileName uintptr, fInfoLevelId int32, lpFindFileData uintptr, fSearchOp int32, lpSearchFilter uintptr, dwAdditionalFlags uint32) uintptr {
+ r0, _, e1 := syscall.Syscall6(procFindFirstFileExW.Addr(), 6, lpFileName, uintptr(fInfoLevelId), lpFindFileData, uintptr(fSearchOp), lpSearchFilter, uintptr(dwAdditionalFlags))
+ handle := syscall.Handle(r0)
+ if handle == syscall.InvalidHandle {
+ if e1 != 0 {
+ t.setErrno(e1)
+ } else {
+ t.setErrno(errno.EINVAL)
+ }
+ }
+ return r0
+}
+
// BOOL FindClose(HANDLE hFindFile);
func XFindClose(t *TLS, hFindFile uintptr) int32 {
r0, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, hFindFile, 0, 0)
@@ -3213,7 +3199,8 @@ func XSleep(t *TLS, dwMilliseconds uint32) {
// BOOL SystemTimeToFileTime(const SYSTEMTIME *lpSystemTime, LPFILETIME lpFileTime);
func XSystemTimeToFileTime(t *TLS, lpSystemTime, lpFileTime uintptr) int32 {
- panic(todo(""))
+ r0, _, _ := syscall.Syscall(procSystemTimeToFileTime.Addr(), 2, lpSystemTime, lpFileTime, 0)
+ return int32(r0)
}
// BOOL UnlockFile(
@@ -3671,18 +3658,6 @@ func XGetModuleFileNameW(t *TLS, hModule, lpFileName uintptr, nSize uint32) uint
return uint32(r0)
}
-// HANDLE FindFirstFileExW(
-// LPCWSTR lpFileName,
-// FINDEX_INFO_LEVELS fInfoLevelId,
-// LPVOID lpFindFileData,
-// FINDEX_SEARCH_OPS fSearchOp,
-// LPVOID lpSearchFilter,
-// DWORD dwAdditionalFlags
-// );
-func XFindFirstFileExW(t *TLS, lpFileName uintptr, fInfoLevelId int32, lpFindFileData uintptr, fSearchOp int32, lpSearchFilter uintptr, dwAdditionalFlags uint32) uintptr {
- panic(todo(""))
-}
-
// NET_API_STATUS NET_API_FUNCTION NetGetDCName(
// LPCWSTR ServerName,
// LPCWSTR DomainName,
@@ -3738,7 +3713,11 @@ func XGetWindowsDirectoryA(t *TLS, _ ...interface{}) int32 {
// LPDWORD lpnLengthNeeded
// );
func XGetFileSecurityW(t *TLS, lpFileName uintptr, RequestedInformation uint32, pSecurityDescriptor uintptr, nLength uint32, lpnLengthNeeded uintptr) int32 {
- panic(todo(""))
+ r0, _, err := syscall.Syscall6(procGetFileSecurityW.Addr(), 5, lpFileName, uintptr(RequestedInformation), pSecurityDescriptor, uintptr(nLength), lpnLengthNeeded, 0)
+ if err != 0 {
+ t.setErrno(err)
+ }
+ return int32(r0)
}
// BOOL GetSecurityDescriptorOwner(
@@ -3946,6 +3925,15 @@ func XWSAStartup(t *TLS, wVersionRequired uint16, lpWSAData uintptr) int32 {
return int32(r0)
}
+// HMODULE GetModuleHandleA(LPCSTR lpModuleName);
+func XGetModuleHandleA(t *TLS, lpModuleName uintptr) uintptr {
+ r0, _, err := syscall.Syscall(procGetModuleHandleA.Addr(), 1, lpModuleName, 0, 0)
+ if r0 == 0 {
+ t.setErrno(err)
+ }
+ return r0
+}
+
// HMODULE GetModuleHandleW(
// LPCWSTR lpModuleName
// );
@@ -4493,6 +4481,9 @@ func X__mingw_vsnwprintf(t *TLS, buffer uintptr, count types.Size_t, format, va
panic(todo(""))
}
+// int vprintf(const char *format, va_list ap);
+func X__mingw_vprintf(t *TLS, s, ap uintptr) int32 { return Xvprintf(t, s, ap) }
+
// int vfscanf(FILE * restrict stream, const char * restrict format, va_list arg);
func X__mingw_vfscanf(t *TLS, stream, format, ap uintptr) int32 {
panic(todo(""))
@@ -4500,7 +4491,7 @@ func X__mingw_vfscanf(t *TLS, stream, format, ap uintptr) int32 {
// int vsscanf(const char *str, const char *format, va_list ap);
func X__mingw_vsscanf(t *TLS, str, format, ap uintptr) int32 {
- panic(todo(""))
+ return Xsscanf(t, str, format, ap)
}
// int vfprintf(FILE * restrict stream, const char * restrict format, va_list arg);
@@ -4510,7 +4501,7 @@ func X__mingw_vfprintf(t *TLS, f uintptr, format, va uintptr) int32 {
// int vsprintf(char * restrict s, const char * restrict format, va_list arg);
func X__mingw_vsprintf(t *TLS, s, format, ap uintptr) int32 {
- panic(todo(""))
+ return Xvsprintf(t, s, format, ap)
}
// int vsnprintf(char *str, size_t size, const char *format, va_list ap);
@@ -4752,7 +4743,7 @@ func X_chmod(t *TLS, filename uintptr, pmode int32) int32 {
// int _fileno(FILE *stream);
func X_fileno(t *TLS, stream uintptr) int32 {
- f, ok := getObject(stream).(*file)
+ f, ok := winGetObject(stream).(*file)
if !ok {
t.setErrno(errno.EBADF)
return -1
@@ -4825,7 +4816,7 @@ func goWideStringN(p uintptr, n int) string {
// LPWSTR GetCommandLineW();
func XGetCommandLineW(t *TLS) uintptr {
- panic(todo(""))
+ return uintptr(unsafe.Pointer(syscall.GetCommandLine()))
}
// BOOL AddAccessDeniedAce(
@@ -4999,7 +4990,6 @@ func X_set_abort_behavior(t *TLS, _ ...interface{}) uint32 {
// LPCSTR lpName
// );
func XOpenEventA(t *TLS, dwDesiredAccess uint32, bInheritHandle uint32, lpName uintptr) uintptr {
-
r0, _, err := syscall.Syscall(procOpenEventA.Addr(), 3, uintptr(dwDesiredAccess), uintptr(bInheritHandle), lpName)
if r0 == 0 {
t.setErrno(err)
@@ -5352,3 +5342,77 @@ func Xsscanf(t *TLS, str, format, va uintptr) int32 {
func Xstrtod(tls *TLS, s uintptr, p uintptr) float64 { /* strtod.c:22:8: */
panic(todo(""))
}
+
+func Xrint(tls *TLS, x float64) float64 {
+ switch {
+ case x == 0: // also +0 and -0
+ return 0
+ case math.IsInf(x, 0), math.IsNaN(x):
+ return x
+ case x >= math.MinInt64 && x <= math.MaxInt64 && float64(int64(x)) == x:
+ return x
+ case x >= 0:
+ return math.Floor(x + 0.5)
+ default:
+ return math.Ceil(x - 0.5)
+ }
+}
+
+// FILE *fdopen(int fd, const char *mode);
+func Xfdopen(t *TLS, fd int32, mode uintptr) uintptr {
+ panic(todo(""))
+}
+
+// struct tm *_gmtime64( const __time64_t *sourceTime );
+func X_gmtime64(t *TLS, sourceTime uintptr) uintptr {
+ panic(todo(""))
+}
+
+// __time64_t _mktime64(struct tm *timeptr);
+func X_mktime64(t *TLS, timeptr uintptr) int64 {
+ panic(todo(""))
+}
+
+// char * gai_strerrorA(int ecode);
+func Xgai_strerrorA(t *TLS, ecode int32) uintptr {
+ panic(todo(""))
+}
+
+// https://github.com/Alexpux/mingw-w64/blob/master/mingw-w64-headers/crt/sys/timeb.h#L69
+//
+// struct __timeb64 {
+// __time64_t time;
+// unsigned short millitm;
+// short timezone;
+// short dstflag;
+// };
+
+type __timeb64 struct {
+ time types.X__time64_t
+ millitm uint32
+ timezone int16
+ dstflag int16
+}
+
+// void _ftime64( struct __timeb64 *timeptr );
+func X_ftime64(t *TLS, timeptr uintptr) {
+ tm := gotime.Now()
+ (*__timeb64)(unsafe.Pointer(timeptr)).time = types.X__time64_t(tm.Unix())
+
+ //TODO When Go 1.16 is no more supported
+ // (*__timeb64)(unsafe.Pointer(timeptr)).millitm = uint32(tm.UnixMilli() % 1000)
+
+ (*__timeb64)(unsafe.Pointer(timeptr)).millitm = uint32(int64(tm.Nanosecond()) / 1e6)
+}
+
+func X__ccgo_getMutexType(tls *TLS, m uintptr) int32 { /* pthread_mutex_lock.c:3:5: */
+ return *(*int32)(unsafe.Pointer(m)) & 15
+}
+
+func X__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:3:5: */
+ return *(*int32)(unsafe.Pointer(a))
+}
+
+func X__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) int32 { /* pthread_attr_get.c:93:5: */
+ return *(*int32)(unsafe.Pointer(a)) & int32(3)
+}
diff --git a/vendor/modernc.org/libc/limits/capi_darwin_amd64.go b/vendor/modernc.org/libc/limits/capi_darwin_amd64.go
index afe4e3854..bf0fdbf4c 100644
--- a/vendor/modernc.org/libc/limits/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/limits/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_darwin_amd64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_darwin_amd64.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_darwin_arm64.go b/vendor/modernc.org/libc/limits/capi_darwin_arm64.go
index b1bd3fd50..81c0e802a 100644
--- a/vendor/modernc.org/libc/limits/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/limits/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_darwin_arm64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_darwin_arm64.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_linux_386.go b/vendor/modernc.org/libc/limits/capi_linux_386.go
index 08961a4bd..0f9d360d0 100644
--- a/vendor/modernc.org/libc/limits/capi_linux_386.go
+++ b/vendor/modernc.org/libc/limits/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_386.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_386.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_linux_amd64.go b/vendor/modernc.org/libc/limits/capi_linux_amd64.go
index 6bd701091..ebab73617 100644
--- a/vendor/modernc.org/libc/limits/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/limits/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_amd64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_amd64.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_linux_arm.go b/vendor/modernc.org/libc/limits/capi_linux_arm.go
index 44b4f5649..f9f73992b 100644
--- a/vendor/modernc.org/libc/limits/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/limits/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_arm.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_arm.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_linux_arm64.go b/vendor/modernc.org/libc/limits/capi_linux_arm64.go
index 41f3ed1e9..75630661c 100644
--- a/vendor/modernc.org/libc/limits/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/limits/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_arm64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_arm64.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_linux_s390x.go b/vendor/modernc.org/libc/limits/capi_linux_s390x.go
index ec66afc2f..eca6eefc7 100644
--- a/vendor/modernc.org/libc/limits/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/limits/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_s390x.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_s390x.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_netbsd_amd64.go b/vendor/modernc.org/libc/limits/capi_netbsd_amd64.go
new file mode 100644
index 000000000..b15124329
--- /dev/null
+++ b/vendor/modernc.org/libc/limits/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo limits/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 limits/limits_netbsd_amd64.go -pkgname limits', DO NOT EDIT.
+
+package limits
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/limits/capi_windows_386.go b/vendor/modernc.org/libc/limits/capi_windows_386.go
index a3dc6a904..30ec29e96 100644
--- a/vendor/modernc.org/libc/limits/capi_windows_386.go
+++ b/vendor/modernc.org/libc/limits/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_windows_386.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_windows_386.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/capi_windows_amd64.go b/vendor/modernc.org/libc/limits/capi_windows_amd64.go
index 553326497..f16b0b156 100644
--- a/vendor/modernc.org/libc/limits/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/limits/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_windows_amd64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits\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 limits\limits_windows_amd64.go -pkgname limits', DO NOT EDIT.
package limits
diff --git a/vendor/modernc.org/libc/limits/limits_darwin_amd64.go b/vendor/modernc.org/libc/limits/limits_darwin_amd64.go
index f1e015e4f..58a1b189e 100644
--- a/vendor/modernc.org/libc/limits/limits_darwin_amd64.go
+++ b/vendor/modernc.org/libc/limits/limits_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_darwin_amd64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_darwin_amd64.go -pkgname limits', DO NOT EDIT.
package limits
@@ -167,7 +167,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// Copyright (C) 1992-2021 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -873,7 +873,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// NZERO to be defined here. TBD. See also sys/param.h
-// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// Copyright (C) 1991-2021 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/vendor/modernc.org/libc/limits/limits_darwin_arm64.go b/vendor/modernc.org/libc/limits/limits_darwin_arm64.go
index b60309813..83b02c0f5 100644
--- a/vendor/modernc.org/libc/limits/limits_darwin_arm64.go
+++ b/vendor/modernc.org/libc/limits/limits_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_darwin_arm64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_darwin_arm64.go -pkgname limits', DO NOT EDIT.
package limits
@@ -169,7 +169,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// Copyright (C) 1992-2021 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -864,7 +864,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// NZERO to be defined here. TBD. See also sys/param.h
-// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// Copyright (C) 1991-2021 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/vendor/modernc.org/libc/limits/limits_linux_386.go b/vendor/modernc.org/libc/limits/limits_linux_386.go
index 5a4ea3cad..ed5d61065 100644
--- a/vendor/modernc.org/libc/limits/limits_linux_386.go
+++ b/vendor/modernc.org/libc/limits/limits_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_386.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_386.go -pkgname limits', DO NOT EDIT.
package limits
@@ -71,6 +71,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_LIMITS_H_ = 0
+ X_ILP32 = 1
X_LIBC_LIMITS_H_ = 1
X_LIMITS_H___ = 0
X_LINUX_LIMITS_H = 0
@@ -134,7 +135,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -169,7 +170,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If fixincludes fixes it, then the fixed version is installed
// instead of this text.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -184,12 +185,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
// Handle feature test macros at the start of a header.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -204,7 +205,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is internal to glibc and should not be included outside
// of glibc headers. Headers including it must define
@@ -214,7 +215,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// header is included, not when the first system header is
// included.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -229,7 +230,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -237,6 +238,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -357,6 +359,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -379,9 +383,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -396,7 +413,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -409,7 +426,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -424,7 +441,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -539,7 +556,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -560,10 +577,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -578,7 +599,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -619,10 +640,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// macro.
// ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
-// macro.
+// macro. Most but not all symbols enabled by that macro in TS
+// 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+// still require that macro in C2X.
// ISO/IEC TS 18661-4:2015 defines the
-// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+// functions, the symbols from this TS are enabled unconditionally in
+// C2X.
// ISO/IEC TS 18661-3:2015 defines the
// __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
@@ -649,7 +674,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
// POSIX adds things to <limits.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -664,7 +689,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
//
@@ -740,7 +765,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get the implementation-specific values for the above.
// Minimum guaranteed maximum values for system limits. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -755,7 +780,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// The kernel header pollutes the namespace with the NR_OPEN symbol
// and defines LINK_MAX although filesystems have different maxima. A
@@ -804,7 +829,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is a guaranteed minimum maximum.
// The current maximum can be got from `sysconf'.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -819,7 +844,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; include <limits.h> instead.
@@ -851,7 +876,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is defined like this in regex.h.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/vendor/modernc.org/libc/limits/limits_linux_amd64.go b/vendor/modernc.org/libc/limits/limits_linux_amd64.go
index 7360b5566..a9a95595a 100644
--- a/vendor/modernc.org/libc/limits/limits_linux_amd64.go
+++ b/vendor/modernc.org/libc/limits/limits_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_amd64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_amd64.go -pkgname limits', DO NOT EDIT.
package limits
@@ -143,7 +143,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -178,7 +178,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If fixincludes fixes it, then the fixed version is installed
// instead of this text.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -193,12 +193,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
// Handle feature test macros at the start of a header.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -213,7 +213,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is internal to glibc and should not be included outside
// of glibc headers. Headers including it must define
@@ -223,7 +223,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// header is included, not when the first system header is
// included.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -238,7 +238,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -246,6 +246,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -366,6 +367,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -388,9 +391,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -405,7 +421,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -418,7 +434,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -433,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -548,7 +564,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -569,11 +585,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -588,7 +608,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -629,10 +649,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// macro.
// ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
-// macro.
+// macro. Most but not all symbols enabled by that macro in TS
+// 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+// still require that macro in C2X.
// ISO/IEC TS 18661-4:2015 defines the
-// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+// functions, the symbols from this TS are enabled unconditionally in
+// C2X.
// ISO/IEC TS 18661-3:2015 defines the
// __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
@@ -659,7 +683,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
// POSIX adds things to <limits.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -674,7 +698,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
//
@@ -752,7 +776,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get the implementation-specific values for the above.
// Minimum guaranteed maximum values for system limits. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -767,7 +791,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// The kernel header pollutes the namespace with the NR_OPEN symbol
// and defines LINK_MAX although filesystems have different maxima. A
@@ -816,7 +840,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is a guaranteed minimum maximum.
// The current maximum can be got from `sysconf'.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -831,7 +855,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; include <limits.h> instead.
@@ -863,7 +887,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is defined like this in regex.h.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/vendor/modernc.org/libc/limits/limits_linux_arm.go b/vendor/modernc.org/libc/limits/limits_linux_arm.go
index 54af74a63..cb71184ca 100644
--- a/vendor/modernc.org/libc/limits/limits_linux_arm.go
+++ b/vendor/modernc.org/libc/limits/limits_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_arm.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_arm.go -pkgname limits', DO NOT EDIT.
package limits
@@ -133,7 +133,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -168,7 +168,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If fixincludes fixes it, then the fixed version is installed
// instead of this text.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -183,12 +183,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
// Handle feature test macros at the start of a header.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -203,7 +203,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is internal to glibc and should not be included outside
// of glibc headers. Headers including it must define
@@ -213,7 +213,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// header is included, not when the first system header is
// included.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -228,7 +228,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -236,6 +236,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -356,6 +357,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -378,9 +381,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -395,7 +411,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -408,7 +424,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -423,7 +439,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -538,7 +554,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -559,7 +575,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -574,10 +594,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -592,7 +612,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -649,10 +669,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// macro.
// ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
-// macro.
+// macro. Most but not all symbols enabled by that macro in TS
+// 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+// still require that macro in C2X.
// ISO/IEC TS 18661-4:2015 defines the
-// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+// functions, the symbols from this TS are enabled unconditionally in
+// C2X.
// ISO/IEC TS 18661-3:2015 defines the
// __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
@@ -679,7 +703,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
// POSIX adds things to <limits.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -694,13 +718,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
//
// Never include this file directly; use <limits.h> instead.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -715,7 +739,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are the standard-mandated minimum values.
@@ -785,7 +809,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get the implementation-specific values for the above.
// Minimum guaranteed maximum values for system limits. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -800,7 +824,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// The kernel header pollutes the namespace with the NR_OPEN symbol
// and defines LINK_MAX although filesystems have different maxima. A
@@ -849,7 +873,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is a guaranteed minimum maximum.
// The current maximum can be got from `sysconf'.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -864,7 +888,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; include <limits.h> instead.
@@ -896,7 +920,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is defined like this in regex.h.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -949,4 +973,4 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This administrivia gets added to the end of limits.h
// if the system has its own version of limits.h.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/limits/limits_linux_arm64.go b/vendor/modernc.org/libc/limits/limits_linux_arm64.go
index 69e698d9f..c1f0aa106 100644
--- a/vendor/modernc.org/libc/limits/limits_linux_arm64.go
+++ b/vendor/modernc.org/libc/limits/limits_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_arm64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_arm64.go -pkgname limits', DO NOT EDIT.
package limits
@@ -143,7 +143,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -178,7 +178,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If fixincludes fixes it, then the fixed version is installed
// instead of this text.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -193,12 +193,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
// Handle feature test macros at the start of a header.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -213,7 +213,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is internal to glibc and should not be included outside
// of glibc headers. Headers including it must define
@@ -223,7 +223,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// header is included, not when the first system header is
// included.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -238,7 +238,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -246,6 +246,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -366,6 +367,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -388,9 +391,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -405,7 +421,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -418,7 +434,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -433,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -548,7 +564,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -569,9 +585,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -586,10 +606,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -604,7 +624,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -638,7 +658,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -653,7 +673,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -664,10 +684,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// macro.
// ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
-// macro.
+// macro. Most but not all symbols enabled by that macro in TS
+// 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+// still require that macro in C2X.
// ISO/IEC TS 18661-4:2015 defines the
-// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+// functions, the symbols from this TS are enabled unconditionally in
+// C2X.
// ISO/IEC TS 18661-3:2015 defines the
// __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
@@ -694,7 +718,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
// POSIX adds things to <limits.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -709,7 +733,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
//
@@ -717,7 +741,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -732,7 +756,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are the standard-mandated minimum values.
@@ -802,7 +826,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get the implementation-specific values for the above.
// Minimum guaranteed maximum values for system limits. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -818,7 +842,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// The kernel header pollutes the namespace with the NR_OPEN symbol
// and defines LINK_MAX although filesystems have different maxima. A
@@ -868,7 +892,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is a guaranteed minimum maximum.
// The current maximum can be got from `sysconf'.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -883,7 +907,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; include <limits.h> instead.
@@ -915,7 +939,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is defined like this in regex.h.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -968,4 +992,4 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This administrivia gets added to the end of limits.h
// if the system has its own version of limits.h.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/limits/limits_linux_s390x.go b/vendor/modernc.org/libc/limits/limits_linux_s390x.go
index 94ff9aa4c..4e0c00456 100644
--- a/vendor/modernc.org/libc/limits/limits_linux_s390x.go
+++ b/vendor/modernc.org/libc/limits/limits_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_linux_s390x.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_linux_s390x.go -pkgname limits', DO NOT EDIT.
package limits
@@ -143,7 +143,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -178,7 +178,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If fixincludes fixes it, then the fixed version is installed
// instead of this text.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -193,12 +193,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
// Handle feature test macros at the start of a header.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -213,7 +213,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is internal to glibc and should not be included outside
// of glibc headers. Headers including it must define
@@ -223,7 +223,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// header is included, not when the first system header is
// included.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -238,7 +238,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -246,6 +246,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -366,6 +367,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -388,9 +391,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -405,7 +421,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -418,7 +434,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -433,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -548,7 +564,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -569,10 +585,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,7 +607,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -627,10 +647,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// macro.
// ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
-// macro.
+// macro. Most but not all symbols enabled by that macro in TS
+// 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
+// still require that macro in C2X.
// ISO/IEC TS 18661-4:2015 defines the
-// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+// functions, the symbols from this TS are enabled unconditionally in
+// C2X.
// ISO/IEC TS 18661-3:2015 defines the
// __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
@@ -657,7 +681,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
// POSIX adds things to <limits.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -672,7 +696,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
//
@@ -748,7 +772,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Get the implementation-specific values for the above.
// Minimum guaranteed maximum values for system limits. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -763,7 +787,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// The kernel header pollutes the namespace with the NR_OPEN symbol
// and defines LINK_MAX although filesystems have different maxima. A
@@ -812,7 +836,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is a guaranteed minimum maximum.
// The current maximum can be got from `sysconf'.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -827,7 +851,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; include <limits.h> instead.
@@ -859,7 +883,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This value is defined like this in regex.h.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -912,4 +936,4 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This administrivia gets added to the end of limits.h
// if the system has its own version of limits.h.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/limits/limits_netbsd_amd64.go b/vendor/modernc.org/libc/limits/limits_netbsd_amd64.go
new file mode 100644
index 000000000..7166a522c
--- /dev/null
+++ b/vendor/modernc.org/libc/limits/limits_netbsd_amd64.go
@@ -0,0 +1,460 @@
+// Code generated by 'ccgo limits/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 limits/limits_netbsd_amd64.go -pkgname limits', DO NOT EDIT.
+
+package limits
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ ARG_MAX = 262144
+ BC_BASE_MAX = 2147483647
+ BC_DIM_MAX = 65535
+ BC_SCALE_MAX = 2147483647
+ BC_STRING_MAX = 2147483647
+ CHARCLASS_NAME_MAX = 14
+ CHAR_BIT = 8
+ CHAR_MAX = 127
+ CHAR_MIN = -128
+ CHILD_MAX = 160
+ COLL_WEIGHTS_MAX = 2
+ DBL_DIG = 15
+ EXPR_NEST_MAX = 32
+ FLT_DIG = 6
+ GID_MAX = 2147483647
+ INT_MAX = 0x7fffffff
+ INT_MIN = -2147483648
+ IOV_MAX = 1024
+ LINE_MAX = 2048
+ LINK_MAX = 32767
+ LLONG_MAX = 0x7fffffffffffffff
+ LLONG_MIN = -9223372036854775808
+ LOGIN_NAME_MAX = 17
+ LONG_BIT = 64
+ LONG_MAX = 0x7fffffffffffffff
+ LONG_MIN = -9223372036854775808
+ MAX_CANON = 255
+ MAX_INPUT = 255
+ MB_LEN_MAX = 32
+ NAME_MAX = 511
+ NGROUPS_MAX = 16
+ NL_ARGMAX = 9
+ NL_LANGMAX = 14
+ NL_MSGMAX = 32767
+ NL_NMAX = 1
+ NL_SETMAX = 255
+ NL_TEXTMAX = 2048
+ NZERO = 20
+ OPEN_MAX = 128
+ PASS_MAX = 128
+ PATH_MAX = 1024
+ PIPE_BUF = 512
+ PTHREAD_DESTRUCTOR_ITERATIONS = 4
+ PTHREAD_KEYS_MAX = 256
+ PTHREAD_THREADS_MAX = 64
+ QUAD_MAX = 0x7fffffffffffffff
+ QUAD_MIN = -9223372036854775808
+ RE_DUP_MAX = 255
+ SCHAR_MAX = 0x7f
+ SCHAR_MIN = -128
+ SHRT_MAX = 0x7fff
+ SHRT_MIN = -32768
+ SIZE_T_MAX = 18446744073709551615
+ SSIZE_MAX = 9223372036854775807
+ SSIZE_MIN = -9223372036854775808
+ TMP_MAX = 308915776
+ UCHAR_MAX = 0xff
+ UID_MAX = 2147483647
+ UINT_MAX = 0xffffffff
+ ULLONG_MAX = 0xffffffffffffffff
+ ULONG_MAX = 0xffffffffffffffff
+ UQUAD_MAX = 0xffffffffffffffff
+ USHRT_MAX = 0xffff
+ WORD_BIT = 32
+ X_FILE_OFFSET_BITS = 64
+ X_GETGR_R_SIZE_MAX = 1024
+ X_GETPW_R_SIZE_MAX = 1024
+ X_LIMITS_H_ = 0
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_POSIX2_BC_BASE_MAX = 99
+ X_POSIX2_BC_DIM_MAX = 2048
+ X_POSIX2_BC_SCALE_MAX = 99
+ X_POSIX2_BC_STRING_MAX = 1000
+ X_POSIX2_CHARCLASS_NAME_MAX = 14
+ X_POSIX2_COLL_WEIGHTS_MAX = 2
+ X_POSIX2_EXPR_NEST_MAX = 32
+ X_POSIX2_LINE_MAX = 2048
+ X_POSIX2_RE_DUP_MAX = 255
+ X_POSIX_AIO_LISTIO_MAX = 2
+ X_POSIX_AIO_MAX = 1
+ X_POSIX_ARG_MAX = 4096
+ X_POSIX_CHILD_MAX = 25
+ X_POSIX_DELAYTIMER_MAX = 32
+ X_POSIX_HOST_NAME_MAX = 255
+ X_POSIX_LINK_MAX = 8
+ X_POSIX_LOGIN_NAME_MAX = 9
+ X_POSIX_MAX_CANON = 255
+ X_POSIX_MAX_INPUT = 255
+ X_POSIX_MQ_OPEN_MAX = 8
+ X_POSIX_MQ_PRIO_MAX = 32
+ X_POSIX_NAME_MAX = 14
+ X_POSIX_NGROUPS_MAX = 8
+ X_POSIX_OPEN_MAX = 20
+ X_POSIX_PATH_MAX = 256
+ X_POSIX_PIPE_BUF = 512
+ X_POSIX_REALTIME_SIGNALS = 200112
+ X_POSIX_RE_DUP_MAX = 255
+ X_POSIX_SEM_NSEMS_MAX = 256
+ X_POSIX_SIGQUEUE_MAX = 32
+ X_POSIX_SSIZE_MAX = 32767
+ X_POSIX_STREAM_MAX = 8
+ X_POSIX_SYMLINK_MAX = 255
+ X_POSIX_SYMLOOP_MAX = 8
+ X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
+ X_POSIX_THREAD_KEYS_MAX = 128
+ X_POSIX_THREAD_THREADS_MAX = 64
+ X_POSIX_TIMER_MAX = 32
+ X_POSIX_TTY_NAME_MAX = 9
+ X_POSIX_TZNAME_MAX = 6
+ X_SYS_SYSLIMITS_H_ = 0
+ X_X86_64_LIMITS_H_ = 0
+ X_XOPEN_IOV_MAX = 16
+ X_XOPEN_NAME_MAX = 256
+ X_XOPEN_PATH_MAX = 1024
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// $NetBSD: limits.h,v 1.40 2016/08/04 06:43:43 christos Exp $
+
+// Copyright (c) 1988, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)limits.h 8.2 (Berkeley) 1/4/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// We have not implemented these yet
+//
+// _POSIX_THREAD_ATTR_STACKADDR
+// _POSIX_THREAD_ATTR_STACKSIZE
+// _POSIX_THREAD_CPUTIME
+// _POSIX_THREAD_PRIORITY_SCHEDULING
+// _POSIX_THREAD_PRIO_INHERIT
+// _POSIX_THREAD_PRIO_PROTECT
+// _POSIX_THREAD_PROCESS_SHARED
+// _POSIX_THREAD_SAFE_FUNCTIONS
+// _POSIX_THREAD_SPORADIC_SERVER
+
+// The following 3 are defined in
+// Open Group Base Specifications Issue 7
+
+// These are the correct names, defined in terms of the above
+// except for PTHREAD_KEYS_MAX which is bigger than standard
+// mandated minimum value _POSIX_THREAD_KEYS_MAX.
+// Not yet: PTHREAD_STACK_MIN
+
+// X/Open CAE Specifications,
+// adopted in IEEE Std 1003.1-2001 XSI.
+
+// IEEE Std 1003.1-2001 TSF
+
+// Always ensure that this is consistent with <stdio.h>
+
+// X/Open Extended API set 2 (a.k.a. C063)
+// This hides unimplemented functions from GNU configure until
+// we are done implementing them.
+
+// $NetBSD: limits.h,v 1.15 2019/01/21 20:22:48 dholland Exp $
+
+// Copyright (c) 1988 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)limits.h 7.2 (Berkeley) 6/28/90
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: syslimits.h,v 1.28 2015/08/21 07:19:39 uebayasi Exp $
+
+// Copyright (c) 1988, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)syslimits.h 8.1 (Berkeley) 6/2/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// kept in sync with MAXNAMLEN
+
+// IEEE Std 1003.1c-95, adopted in X/Open CAE Specification Issue 5 Version 2
+
+// X/Open CAE Specification Issue 5 Version 2
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/limits/limits_windows_386.go b/vendor/modernc.org/libc/limits/limits_windows_386.go
index 069f8a6f9..7a68f6460 100644
--- a/vendor/modernc.org/libc/limits/limits_windows_386.go
+++ b/vendor/modernc.org/libc/limits/limits_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_windows_386.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits/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 limits/limits_windows_386.go -pkgname limits', DO NOT EDIT.
package limits
@@ -44,9 +44,7 @@ const (
LONG_MIN = -2147483648
MB_LEN_MAX = 5
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
PATH_MAX = 260
@@ -81,6 +79,7 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
@@ -93,6 +92,8 @@ const (
X_I64_MIN = -9223372036854775808
X_I8_MAX = 127
X_I8_MIN = -128
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_LIMITS = 0
@@ -145,7 +146,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -199,6 +200,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -219,6 +225,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -259,26 +271,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -304,29 +318,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
// File system limits
//
@@ -336,7 +350,7 @@ type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
// are semantically identical, with a limit of 259 characters for the
// path name, plus one for a terminating NUL, for a total of 260.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/vendor/modernc.org/libc/limits/limits_windows_amd64.go b/vendor/modernc.org/libc/limits/limits_windows_amd64.go
index 0b4a17571..de7ff7171 100644
--- a/vendor/modernc.org/libc/limits/limits_windows_amd64.go
+++ b/vendor/modernc.org/libc/limits/limits_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_windows_amd64.go -pkgname limits', DO NOT EDIT.
+// Code generated by 'ccgo limits\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 limits\limits_windows_amd64.go -pkgname limits', DO NOT EDIT.
package limits
@@ -110,6 +110,7 @@ const (
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
diff --git a/vendor/modernc.org/libc/log-generate b/vendor/modernc.org/libc/log-generate
deleted file mode 100644
index 1290c342d..000000000
--- a/vendor/modernc.org/libc/log-generate
+++ /dev/null
@@ -1,27 +0,0 @@
-mkdir ["-p" "obj/include/bits"]
-sh ["-c" "sed -f ./tools/mkalltypes.sed ./arch/s390x/bits/alltypes.h.in ./include/alltypes.h.in > obj/include/bits/alltypes.h"]
-sh ["-c" "cp arch/s390x/bits/syscall.h.in obj/include/bits/syscall.h"]
-sh ["-c" "sed -n -e s/__NR_/SYS_/p < arch/s390x/bits/syscall.h.in >> obj/include/bits/syscall.h"]
-dirent
-errno
-fcntl
-fts
-grp
-langinfo
-limits
-netdb
-netinet/in
-poll
-pthread
-pwd
-signal
-stdio
-sys/socket
-sys/stat
-sys/types
-termios
-time
-unistd
-utime
-capi_linux_s390x.go
-ccgo.go
diff --git a/vendor/modernc.org/libc/musl_darwin_amd64.go b/vendor/modernc.org/libc/musl_darwin_amd64.go
index 01bde4691..4860bf4ff 100644
--- a/vendor/modernc.org/libc/musl_darwin_amd64.go
+++ b/vendor/modernc.org/libc/musl_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_darwin_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__toread.c src/stdio/__uflow.c src/string/strdup.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strchrnul.c src/string/strlcat.c src/string/strlcpy.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c', DO NOT EDIT.
+// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_darwin_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strchrnul.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c', DO NOT EDIT.
package libc
@@ -1855,7 +1855,10 @@ func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
if !(e != 0) {
if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1876,7 +1879,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
bp := tls.Alloc(4)
defer tls.Free(4)
- *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x}
+ *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) {
+ *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff)))
if !(e != 0) {
if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1917,6 +1923,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -2985,11 +3022,11 @@ type __res_state = struct {
defdname [256]int8
pfcode uint64
ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
+ _ [4]byte
sort_list [10]struct {
addr struct{ s_addr in_addr_t }
mask uint32_t
}
- _ [4]byte
qhook uintptr
rhook uintptr
res_h_errno int32
@@ -3267,15 +3304,15 @@ func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5
switch i {
case 0:
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 1*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */)) & uint64(0xffffff))
- AssignShrPtrUint64(bp /* &a */, int(uint64(24)))
+ AssignShrPtrUint64(bp /* &a */, int(24))
fallthrough
case 1:
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 2*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 1*8)) & uint64(0xffff))
- AssignShrPtrUint64(bp /* &a */ +1*8, int(uint64(16)))
+ AssignShrPtrUint64(bp /* &a */ +1*8, int(16))
fallthrough
case 2:
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 3*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 2*8)) & uint64(0xff))
- AssignShrPtrUint64(bp /* &a */ +2*8, int(uint64(8)))
+ AssignShrPtrUint64(bp /* &a */ +2*8, int(8))
}
for i = 0; i < 4; i++ {
if *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)) > uint64(255) {
@@ -4085,7 +4122,9 @@ func Xrand_r(tls *TLS, seed uintptr) int32 { /* rand_r.c:12:5: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 72 /* &.write */))))(tls, f, uintptr(0), uint64(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -4113,21 +4152,14 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 64 /* &.read */))))(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
}
-func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
- var l size_t = Xstrlen(tls, s)
- var d uintptr = Xmalloc(tls, (l + uint64(1)))
- if !(d != 0) {
- return uintptr(0)
- }
- return Xmemcpy(tls, d, s, (l + uint64(1)))
-}
-
func strtox(tls *TLS, s uintptr, p uintptr, prec int32) float64 { /* strtod.c:6:20: */
bp := tls.Alloc(232)
defer tls.Free(232)
@@ -4232,6 +4264,15 @@ func X__strchrnul(tls *TLS, s uintptr, c int32) uintptr { /* strchrnul.c:10:6: *
return s
}
+func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
+ var l size_t = Xstrlen(tls, s)
+ var d uintptr = Xmalloc(tls, (l + uint64(1)))
+ if !(d != 0) {
+ return uintptr(0)
+ }
+ return Xmemcpy(tls, d, s, (l + uint64(1)))
+}
+
func Xstrlcat(tls *TLS, d uintptr, s uintptr, n size_t) size_t { /* strlcat.c:4:8: */
var l size_t = Xstrnlen(tls, d, n)
if l == n {
diff --git a/vendor/modernc.org/libc/musl_darwin_arm64.go b/vendor/modernc.org/libc/musl_darwin_arm64.go
index 9751e905c..ef0e4254b 100644
--- a/vendor/modernc.org/libc/musl_darwin_arm64.go
+++ b/vendor/modernc.org/libc/musl_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_darwin_arm64.go -pkgname libc -static-locals-prefix _s -Iarch/aarch64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__toread.c src/stdio/__uflow.c src/string/strdup.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strchrnul.c src/string/strlcat.c src/string/strlcpy.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c', DO NOT EDIT.
+// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_darwin_arm64.go -pkgname libc -static-locals-prefix _s -Iarch/aarch64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strchrnul.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c', DO NOT EDIT.
package libc
@@ -1917,6 +1917,34 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -2985,11 +3013,11 @@ type __res_state = struct {
defdname [256]int8
pfcode uint64
ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
+ _ [4]byte
sort_list [10]struct {
addr struct{ s_addr in_addr_t }
mask uint32_t
}
- _ [4]byte
qhook uintptr
rhook uintptr
res_h_errno int32
@@ -3267,15 +3295,15 @@ func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5
switch i {
case 0:
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 1*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */)) & uint64(0xffffff))
- AssignShrPtrUint64(bp /* &a */, int(uint64(24)))
+ AssignShrPtrUint64(bp /* &a */, int(24))
fallthrough
case 1:
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 2*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 1*8)) & uint64(0xffff))
- AssignShrPtrUint64(bp /* &a */ +1*8, int(uint64(16)))
+ AssignShrPtrUint64(bp /* &a */ +1*8, int(16))
fallthrough
case 2:
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 3*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 2*8)) & uint64(0xff))
- AssignShrPtrUint64(bp /* &a */ +2*8, int(uint64(8)))
+ AssignShrPtrUint64(bp /* &a */ +2*8, int(8))
}
for i = 0; i < 4; i++ {
if *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)) > uint64(255) {
@@ -4085,7 +4113,9 @@ func Xrand_r(tls *TLS, seed uintptr) int32 { /* rand_r.c:12:5: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 72 /* &.write */))))(tls, f, uintptr(0), uint64(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -4113,21 +4143,14 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 64 /* &.read */))))(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
}
-func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
- var l size_t = Xstrlen(tls, s)
- var d uintptr = Xmalloc(tls, (l + uint64(1)))
- if !(d != 0) {
- return uintptr(0)
- }
- return Xmemcpy(tls, d, s, (l + uint64(1)))
-}
-
func strtox(tls *TLS, s uintptr, p uintptr, prec int32) float64 { /* strtod.c:6:20: */
bp := tls.Alloc(232)
defer tls.Free(232)
@@ -4232,6 +4255,15 @@ func X__strchrnul(tls *TLS, s uintptr, c int32) uintptr { /* strchrnul.c:10:6: *
return s
}
+func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
+ var l size_t = Xstrlen(tls, s)
+ var d uintptr = Xmalloc(tls, (l + uint64(1)))
+ if !(d != 0) {
+ return uintptr(0)
+ }
+ return Xmemcpy(tls, d, s, (l + uint64(1)))
+}
+
func Xstrlcat(tls *TLS, d uintptr, s uintptr, n size_t) size_t { /* strlcat.c:4:8: */
var l size_t = Xstrnlen(tls, d, n)
if l == n {
diff --git a/vendor/modernc.org/libc/musl_freebsd_amd64.go b/vendor/modernc.org/libc/musl_freebsd_amd64.go
index c9d1b7ce0..423830c8e 100644
--- a/vendor/modernc.org/libc/musl_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/musl_freebsd_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6,getnameinfo,gethostbyaddr_r, -nostdinc -nostdlib -o ../musl_freebsd_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c ../freebsd/table.cpp.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strnlen.c src/string/strspn.c', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6,getnameinfo,gethostbyaddr_r, -nostdinc -nostdlib -o ../musl_freebsd_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c ../freebsd/table.cpp.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strnlen.c src/string/strspn.c', DO NOT EDIT.
package libc
@@ -4604,6 +4604,37 @@ func Xfmodl(tls *TLS, x float64, y float64) float64 { /* fmodl.c:4:13: */
return Xfmod(tls, x, y)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -6598,7 +6629,9 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 72 /* &.write */))))(tls, f, uintptr(0), uint64(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -6626,7 +6659,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 64 /* &.read */))))(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
diff --git a/vendor/modernc.org/libc/musl_linux_386.go b/vendor/modernc.org/libc/musl_linux_386.go
index 44a6d2fcd..c0197853f 100644
--- a/vendor/modernc.org/libc/musl_linux_386.go
+++ b/vendor/modernc.org/libc/musl_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_386.go -pkgname libc -static-locals-prefix _s -Iarch/i386 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_386.go -pkgname libc -static-locals-prefix _s -Iarch/i386 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/__ctype_b_loc.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
package libc
@@ -363,6 +363,49 @@ type size_t = uint32 /* <builtin>:9:23 */
type wchar_t = int32 /* <builtin>:15:24 */
+type uint16_t = uint16 /* alltypes.h:149:25 */
+
+type uint32_t = uint32 /* alltypes.h:154:25 */
+
+type uint64_t = uint64 /* alltypes.h:159:25 */
+
+func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
+ return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
+}
+
+var table = [384]uint16{
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x320) / 256) | ((0x320) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x160) / 256) | ((0x160) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+} /* __ctype_b_loc.c:9:29 */
+
+var ptable uintptr = 0 /* __ctype_b_loc.c:36:29 */
+
+func X__ctype_b_loc(tls *TLS) uintptr { /* __ctype_b_loc.c:38:22: */
+ return uintptr(unsafe.Pointer(&ptable))
+}
+
func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
}
@@ -581,12 +624,6 @@ type intmax_t = int64 /* alltypes.h:139:25 */
type uint8_t = uint8 /* alltypes.h:144:25 */
-type uint16_t = uint16 /* alltypes.h:149:25 */
-
-type uint32_t = uint32 /* alltypes.h:154:25 */
-
-type uint64_t = uint64 /* alltypes.h:159:25 */
-
type uintmax_t = uint64 /* alltypes.h:169:25 */
type int_fast8_t = int8_t /* stdint.h:22:16 */
@@ -1470,7 +1507,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}
// Lookup table for digit values. -1==255>=36 -> invalid
-var table = [257]uint8{Uint8FromInt32(-1),
+var table1 = [257]uint8{Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
@@ -1496,7 +1533,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64
var x uint32
var y uint64
var bs int32
- val = (uintptr(unsafe.Pointer(&table)) + uintptr(1))
+ val = (uintptr(unsafe.Pointer(&table1)) + uintptr(1))
neg = 0
if !((base > uint32(36)) || (base == uint32(1))) {
goto __1
@@ -1827,11 +1864,57 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */
return c
}
+type lconv = struct {
+ decimal_point uintptr
+ thousands_sep uintptr
+ grouping uintptr
+ int_curr_symbol uintptr
+ currency_symbol uintptr
+ mon_decimal_point uintptr
+ mon_thousands_sep uintptr
+ mon_grouping uintptr
+ positive_sign uintptr
+ negative_sign uintptr
+ int_frac_digits int8
+ frac_digits int8
+ p_cs_precedes int8
+ p_sep_by_space int8
+ n_cs_precedes int8
+ n_sep_by_space int8
+ p_sign_posn int8
+ n_sign_posn int8
+ int_p_cs_precedes int8
+ int_p_sep_by_space int8
+ int_n_cs_precedes int8
+ int_n_sep_by_space int8
+ int_p_sign_posn int8
+ int_n_sign_posn int8
+ _ [2]byte
+} /* locale.h:24:1 */
+
+// Support signed or unsigned plain-char
+
+// Implementation choices...
+
+// Arbitrary numbers...
+
+// POSIX/SUS requirements follow. These numbers come directly
+// from SUS and have nothing to do with the host system.
+
+var posix_lconv = lconv{decimal_point: ts + 23 /* "." */, thousands_sep: ts + 13 /* "" */, grouping: ts + 13 /* "" */, int_curr_symbol: ts + 13 /* "" */, currency_symbol: ts + 13 /* "" */, mon_decimal_point: ts + 13 /* "" */, mon_thousands_sep: ts + 13 /* "" */, mon_grouping: ts + 13 /* "" */, positive_sign: ts + 13 /* "" */, negative_sign: ts + 13 /* "" */, int_frac_digits: Int8FromInt32(255), frac_digits: Int8FromInt32(255), p_cs_precedes: Int8FromInt32(255), p_sep_by_space: Int8FromInt32(255), n_cs_precedes: Int8FromInt32(255), n_sep_by_space: Int8FromInt32(255), p_sign_posn: Int8FromInt32(255), n_sign_posn: Int8FromInt32(255), int_p_cs_precedes: Int8FromInt32(255), int_p_sep_by_space: Int8FromInt32(255), int_n_cs_precedes: Int8FromInt32(255), int_n_sep_by_space: Int8FromInt32(255), int_p_sign_posn: Int8FromInt32(255), int_n_sign_posn: Int8FromInt32(255)} /* localeconv.c:4:27 */
+
+func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */
+ return uintptr(unsafe.Pointer(&posix_lconv))
+}
+
func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
if !(e != 0) {
if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1852,7 +1935,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
bp := tls.Alloc(4)
defer tls.Free(4)
- *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x}
+ *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) {
+ *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff)))
if !(e != 0) {
if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1869,10 +1955,6 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
return 4
}
-func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
- return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
-}
-
func X__fpclassifyl(tls *TLS, x float64) int32 { /* __fpclassifyl.c:4:5: */
return X__fpclassify(tls, x)
}
@@ -1893,6 +1975,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -1933,43 +2046,6 @@ func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */
return Xscalbn(tls, x, n)
}
-// Upper 6 state bits are a negative integer offset to bound-check next byte
-// equivalent to: ( (b-0x80) | (b+offset) ) & ~0x3f
-
-// Interval [a,b). Either a must be 80 or b must be c0, lower 3 bits clear.
-
-// Arbitrary encoding for representing code units instead of characters.
-
-// Get inline definition of MB_CUR_MAX.
-
-type lconv = struct {
- decimal_point uintptr
- thousands_sep uintptr
- grouping uintptr
- int_curr_symbol uintptr
- currency_symbol uintptr
- mon_decimal_point uintptr
- mon_thousands_sep uintptr
- mon_grouping uintptr
- positive_sign uintptr
- negative_sign uintptr
- int_frac_digits int8
- frac_digits int8
- p_cs_precedes int8
- p_sep_by_space int8
- n_cs_precedes int8
- n_sep_by_space int8
- p_sign_posn int8
- n_sign_posn int8
- int_p_cs_precedes int8
- int_p_sep_by_space int8
- int_n_cs_precedes int8
- int_n_sep_by_space int8
- int_p_sign_posn int8
- int_n_sign_posn int8
- _ [2]byte
-} /* locale.h:24:1 */
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -2240,12 +2316,15 @@ func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic.h:220:20: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = struct{ v uint64_t }{v: v}
+ *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = func() (r struct{ v uint64_t }) {
+ *(*uint64_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = v
+ return r
+ }()
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 {
- a_or(tls, AtomicLoadUintptr(&p), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
+ a_or(tls, p, int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
}
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)) != 0 {
- a_or(tls, (AtomicLoadUintptr(&p) + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
+ a_or(tls, (p + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
}
}
@@ -2269,14 +2348,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1
if cnt < 0 {
cnt = 0x7fffffff
}
- _ = (Bool32((X__syscall3(tls, 240, int32(AtomicLoadUintptr(&addr)), (int32(1|priv)), int32(cnt)) != -38) || (X__syscall3(tls, 240, int32(AtomicLoadUintptr(&addr)), 1, int32(cnt)) != 0)))
+ _ = (Bool32((X__syscall3(tls, 240, int32(addr), (int32(1|priv)), int32(cnt)) != -38) || (X__syscall3(tls, 240, int32(addr), 1, int32(cnt)) != 0)))
}
func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */
if priv != 0 {
priv = 128
}
- _ = (Bool32((X__syscall4(tls, 240, int32(AtomicLoadUintptr(&addr)), (int32(0|priv)), int32(val), 0) != -38) || (X__syscall4(tls, 240, int32(AtomicLoadUintptr(&addr)), 0, int32(val), 0) != 0)))
+ _ = (Bool32((X__syscall4(tls, 240, int32(addr), (int32(0|priv)), int32(val), 0) != -38) || (X__syscall4(tls, 240, int32(addr), 0, int32(val), 0) != 0)))
}
var X__fsmu8 = [51]uint32_t{
@@ -4332,7 +4411,7 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */
bp := tls.Alloc(32)
defer tls.Free(32)
- Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */
+ Xsprintf(tls, s, ts+25, /* "%d.%d.%d.%d.in-a..." */
VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip)))))
}
@@ -4344,10 +4423,10 @@ func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */
*(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
*(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
}
- Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */)
+ Xstrcpy(tls, s, ts+50 /* "ip6.arpa" */)
}
-var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
+var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 59 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */
bp := tls.Alloc(556)
@@ -4364,13 +4443,13 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
// var iplit address at bp+528, 28
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
return
}
if family == 2 {
Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint32(4))
- Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ Xmemcpy(tls, bp /* &atmp[0] */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
a = bp /* &atmp[0] */
}
for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 {
@@ -4388,7 +4467,7 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 {
Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint32(4))
- Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
(*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0)
}
@@ -4464,7 +4543,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (sl < socklen_t(unsafe.Sizeof(sockaddr_in6{}))) {
return -6
}
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
mkptr6(tls, bp /* &ptr[0] */, a)
} else {
mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
@@ -4604,21 +4683,21 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
switch af {
case 2:
- if socklen_t(Xsnprintf(tls, s, l, ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
+ if socklen_t(Xsnprintf(tls, s, l, ts+103 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
return s
}
break
case 10:
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]int8{})),
- ts+113, /* "%x:%x:%x:%x:%x:%..." */
+ ts+115, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15))))))
} else {
Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]int8{})),
- ts+137, /* "%x:%x:%x:%x:%x:%..." */
+ ts+139, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
@@ -4631,7 +4710,7 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
continue
}
- j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */))
+ j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+169 /* ":0" */))
if j > max {
best = i
max = j
@@ -4888,7 +4967,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
var _f FILE
_ = _f
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) {
case 2:
@@ -5010,13 +5089,13 @@ type policy = struct {
} /* lookup_name.c:237:14 */
var defpolicy = [6]policy{
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
// Last rule must match all addresses to stop loop.
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
} /* lookup_name.c:241:3 */
func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */
@@ -5184,10 +5263,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
*(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
} else {
Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint32(4))
Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint32(4))
Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint32(4))
da = bp + 56 /* &da4 */
@@ -5401,7 +5480,9 @@ func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 72 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 36 /* &.write */))))(tls, f, uintptr(0), uint32(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint32(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+28 /* &.wbase */, AssignPtrUintptr(f+16 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -5429,7 +5510,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 32 /* &.read */))))(tls, f, bp /* &c */, uint32(1)) == size_t(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint32(1)) == size_t(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
@@ -6774,5 +6857,9 @@ func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pth
return 0
}
-var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+func init() {
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&ptable)) + 0)) = (uintptr(unsafe.Pointer(&table)) + uintptr(128)*2) // __ctype_b_loc.c:36:45:
+}
+
+var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/libc/musl_linux_amd64.go b/vendor/modernc.org/libc/musl_linux_amd64.go
index c4e009179..9b2efafc9 100644
--- a/vendor/modernc.org/libc/musl_linux_amd64.go
+++ b/vendor/modernc.org/libc/musl_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/__ctype_b_loc.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
package libc
@@ -363,6 +363,49 @@ type size_t = uint64 /* <builtin>:9:23 */
type wchar_t = int32 /* <builtin>:15:24 */
+type uint16_t = uint16 /* alltypes.h:126:25 */
+
+type uint32_t = uint32 /* alltypes.h:131:25 */
+
+type uint64_t = uint64 /* alltypes.h:136:25 */
+
+func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
+ return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
+}
+
+var table = [384]uint16{
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x320) / 256) | ((0x320) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x160) / 256) | ((0x160) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+} /* __ctype_b_loc.c:9:29 */
+
+var ptable uintptr = 0 /* __ctype_b_loc.c:36:29 */
+
+func X__ctype_b_loc(tls *TLS) uintptr { /* __ctype_b_loc.c:38:22: */
+ return uintptr(unsafe.Pointer(&ptable))
+}
+
func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
}
@@ -583,12 +626,6 @@ type intmax_t = int64 /* alltypes.h:116:25 */
type uint8_t = uint8 /* alltypes.h:121:25 */
-type uint16_t = uint16 /* alltypes.h:126:25 */
-
-type uint32_t = uint32 /* alltypes.h:131:25 */
-
-type uint64_t = uint64 /* alltypes.h:136:25 */
-
type uintmax_t = uint64 /* alltypes.h:146:25 */
type int_fast8_t = int8_t /* stdint.h:22:16 */
@@ -1476,7 +1513,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}
// Lookup table for digit values. -1==255>=36 -> invalid
-var table = [257]uint8{Uint8FromInt32(-1),
+var table1 = [257]uint8{Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
@@ -1502,7 +1539,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64
var x uint32
var y uint64
var bs int32
- val = (uintptr(unsafe.Pointer(&table)) + uintptr(1))
+ val = (uintptr(unsafe.Pointer(&table1)) + uintptr(1))
neg = 0
if !((base > uint32(36)) || (base == uint32(1))) {
goto __1
@@ -1833,11 +1870,57 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */
return c
}
+type lconv = struct {
+ decimal_point uintptr
+ thousands_sep uintptr
+ grouping uintptr
+ int_curr_symbol uintptr
+ currency_symbol uintptr
+ mon_decimal_point uintptr
+ mon_thousands_sep uintptr
+ mon_grouping uintptr
+ positive_sign uintptr
+ negative_sign uintptr
+ int_frac_digits int8
+ frac_digits int8
+ p_cs_precedes int8
+ p_sep_by_space int8
+ n_cs_precedes int8
+ n_sep_by_space int8
+ p_sign_posn int8
+ n_sign_posn int8
+ int_p_cs_precedes int8
+ int_p_sep_by_space int8
+ int_n_cs_precedes int8
+ int_n_sep_by_space int8
+ int_p_sign_posn int8
+ int_n_sign_posn int8
+ _ [2]byte
+} /* locale.h:24:1 */
+
+// Support signed or unsigned plain-char
+
+// Implementation choices...
+
+// Arbitrary numbers...
+
+// POSIX/SUS requirements follow. These numbers come directly
+// from SUS and have nothing to do with the host system.
+
+var posix_lconv = lconv{decimal_point: ts + 23 /* "." */, thousands_sep: ts + 13 /* "" */, grouping: ts + 13 /* "" */, int_curr_symbol: ts + 13 /* "" */, currency_symbol: ts + 13 /* "" */, mon_decimal_point: ts + 13 /* "" */, mon_thousands_sep: ts + 13 /* "" */, mon_grouping: ts + 13 /* "" */, positive_sign: ts + 13 /* "" */, negative_sign: ts + 13 /* "" */, int_frac_digits: Int8FromInt32(255), frac_digits: Int8FromInt32(255), p_cs_precedes: Int8FromInt32(255), p_sep_by_space: Int8FromInt32(255), n_cs_precedes: Int8FromInt32(255), n_sep_by_space: Int8FromInt32(255), p_sign_posn: Int8FromInt32(255), n_sign_posn: Int8FromInt32(255), int_p_cs_precedes: Int8FromInt32(255), int_p_sep_by_space: Int8FromInt32(255), int_n_cs_precedes: Int8FromInt32(255), int_n_sep_by_space: Int8FromInt32(255), int_p_sign_posn: Int8FromInt32(255), int_n_sign_posn: Int8FromInt32(255)} /* localeconv.c:4:27 */
+
+func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */
+ return uintptr(unsafe.Pointer(&posix_lconv))
+}
+
func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
if !(e != 0) {
if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1858,7 +1941,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
bp := tls.Alloc(4)
defer tls.Free(4)
- *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x}
+ *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) {
+ *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff)))
if !(e != 0) {
if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1875,10 +1961,6 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
return 4
}
-func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
- return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
-}
-
func X__fpclassifyl(tls *TLS, x float64) int32 { /* __fpclassifyl.c:4:5: */
return X__fpclassify(tls, x)
}
@@ -1899,6 +1981,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -1939,43 +2052,6 @@ func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */
return Xscalbn(tls, x, n)
}
-// Upper 6 state bits are a negative integer offset to bound-check next byte
-// equivalent to: ( (b-0x80) | (b+offset) ) & ~0x3f
-
-// Interval [a,b). Either a must be 80 or b must be c0, lower 3 bits clear.
-
-// Arbitrary encoding for representing code units instead of characters.
-
-// Get inline definition of MB_CUR_MAX.
-
-type lconv = struct {
- decimal_point uintptr
- thousands_sep uintptr
- grouping uintptr
- int_curr_symbol uintptr
- currency_symbol uintptr
- mon_decimal_point uintptr
- mon_thousands_sep uintptr
- mon_grouping uintptr
- positive_sign uintptr
- negative_sign uintptr
- int_frac_digits int8
- frac_digits int8
- p_cs_precedes int8
- p_sep_by_space int8
- n_cs_precedes int8
- n_sep_by_space int8
- p_sign_posn int8
- n_sign_posn int8
- int_p_cs_precedes int8
- int_p_sep_by_space int8
- int_n_cs_precedes int8
- int_n_sep_by_space int8
- int_p_sign_posn int8
- int_n_sign_posn int8
- _ [2]byte
-} /* locale.h:24:1 */
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -2298,14 +2374,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1
if cnt < 0 {
cnt = 0x7fffffff
}
- _ = (Bool32((X__syscall3(tls, int64(202), int64(AtomicLoadUintptr(&addr)), (int64(1|priv)), int64(cnt)) != int64(-38)) || (X__syscall3(tls, int64(202), int64(AtomicLoadUintptr(&addr)), int64(1), int64(cnt)) != 0)))
+ _ = (Bool32((X__syscall3(tls, int64(202), int64(addr), (int64(1|priv)), int64(cnt)) != int64(-38)) || (X__syscall3(tls, int64(202), int64(addr), int64(1), int64(cnt)) != 0)))
}
func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */
if priv != 0 {
priv = 128
}
- _ = (Bool32((X__syscall4(tls, int64(202), int64(AtomicLoadUintptr(&addr)), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (X__syscall4(tls, int64(202), int64(AtomicLoadUintptr(&addr)), int64(0), int64(val), int64(0)) != 0)))
+ _ = (Bool32((X__syscall4(tls, int64(202), int64(addr), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (X__syscall4(tls, int64(202), int64(addr), int64(0), int64(val), int64(0)) != 0)))
}
var X__fsmu8 = [51]uint32_t{
@@ -4389,7 +4465,7 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */
bp := tls.Alloc(32)
defer tls.Free(32)
- Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */
+ Xsprintf(tls, s, ts+25, /* "%d.%d.%d.%d.in-a..." */
VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip)))))
}
@@ -4401,10 +4477,10 @@ func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */
*(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
*(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
}
- Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */)
+ Xstrcpy(tls, s, ts+50 /* "ip6.arpa" */)
}
-var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
+var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 59 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */
bp := tls.Alloc(556)
@@ -4421,13 +4497,13 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
// var iplit address at bp+528, 28
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
return
}
if family == 2 {
Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint64(4))
- Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, bp /* &atmp[0] */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
a = bp /* &atmp[0] */
}
for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 {
@@ -4445,7 +4521,7 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 {
Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint64(4))
- Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
(*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0)
}
@@ -4521,7 +4597,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in6{}))) {
return -6
}
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
mkptr6(tls, bp /* &ptr[0] */, a)
} else {
mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
@@ -4661,21 +4737,21 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
switch af {
case 2:
- if socklen_t(Xsnprintf(tls, s, uint64(l), ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
+ if socklen_t(Xsnprintf(tls, s, uint64(l), ts+103 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
return s
}
break
case 10:
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
- ts+113, /* "%x:%x:%x:%x:%x:%..." */
+ ts+115, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15))))))
} else {
Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
- ts+137, /* "%x:%x:%x:%x:%x:%..." */
+ ts+139, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
@@ -4688,7 +4764,7 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
continue
}
- j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */))
+ j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+169 /* ":0" */))
if j > max {
best = i
max = j
@@ -4945,7 +5021,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
var _f FILE
_ = _f
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) {
case 2:
@@ -5068,13 +5144,13 @@ type policy = struct {
} /* lookup_name.c:237:14 */
var defpolicy = [6]policy{
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
// Last rule must match all addresses to stop loop.
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
} /* lookup_name.c:241:3 */
func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */
@@ -5242,10 +5318,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
*(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
} else {
Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
da = bp + 56 /* &da4 */
@@ -5459,7 +5535,9 @@ func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 72 /* &.write */))))(tls, f, uintptr(0), uint64(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -5487,7 +5565,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 64 /* &.read */))))(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
@@ -6832,5 +6912,9 @@ func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pth
return 0
}
-var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+func init() {
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&ptable)) + 0)) = (uintptr(unsafe.Pointer(&table)) + uintptr(128)*2) // __ctype_b_loc.c:36:45:
+}
+
+var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/libc/musl_linux_arm.go b/vendor/modernc.org/libc/musl_linux_arm.go
index e73f2ca39..1acad09a5 100644
--- a/vendor/modernc.org/libc/musl_linux_arm.go
+++ b/vendor/modernc.org/libc/musl_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_arm.go -pkgname libc -static-locals-prefix _s -Iarch/arm -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_arm.go -pkgname libc -static-locals-prefix _s -Iarch/arm -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/__ctype_b_loc.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
package libc
@@ -363,6 +363,49 @@ type size_t = uint32 /* <builtin>:9:23 */
type wchar_t = uint32 /* <builtin>:15:24 */
+type uint16_t = uint16 /* alltypes.h:119:25 */
+
+type uint32_t = uint32 /* alltypes.h:124:25 */
+
+type uint64_t = uint64 /* alltypes.h:129:25 */
+
+func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
+ return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
+}
+
+var table = [384]uint16{
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x320) / 256) | ((0x320) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x160) / 256) | ((0x160) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+} /* __ctype_b_loc.c:9:29 */
+
+var ptable uintptr = 0 /* __ctype_b_loc.c:36:29 */
+
+func X__ctype_b_loc(tls *TLS) uintptr { /* __ctype_b_loc.c:38:22: */
+ return uintptr(unsafe.Pointer(&ptable))
+}
+
func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
}
@@ -451,7 +494,7 @@ type dirent = struct {
d_off off_t
d_reclen uint16
d_type uint8
- d_name [256]int8
+ d_name [256]uint8
_ [5]byte
} /* dirent.h:5:1 */
@@ -461,7 +504,7 @@ type __dirstream = struct {
buf_pos int32
buf_end int32
lock [1]int32
- buf [2048]int8
+ buf [2048]uint8
} /* dirent.h:20:9 */
type DIR = __dirstream /* dirent.h:20:28 */
@@ -547,13 +590,13 @@ type max_align_t = struct {
__ld float64
} /* alltypes.h:34:54 */
-type dirstream_buf_alignment_check = [1]int8 /* readdir.c:7:14 */
+type dirstream_buf_alignment_check = [1]uint8 /* readdir.c:7:14 */
func Xreaddir(tls *TLS, dir uintptr) uintptr { /* readdir.c:10:15: */
var de uintptr
if (*DIR)(unsafe.Pointer(dir)).buf_pos >= (*DIR)(unsafe.Pointer(dir)).buf_end {
- var len int32 = int32(X__syscall3(tls, 217, int32((*DIR)(unsafe.Pointer(dir)).fd), int32(dir+24 /* &.buf */), int32(unsafe.Sizeof([2048]int8{}))))
+ var len int32 = int32(X__syscall3(tls, 217, int32((*DIR)(unsafe.Pointer(dir)).fd), int32(dir+24 /* &.buf */), int32(unsafe.Sizeof([2048]uint8{}))))
if len <= 0 {
if (len < 0) && (len != -2) {
(*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = -len
@@ -583,12 +626,6 @@ type intmax_t = int64 /* alltypes.h:109:25 */
type uint8_t = uint8 /* alltypes.h:114:25 */
-type uint16_t = uint16 /* alltypes.h:119:25 */
-
-type uint32_t = uint32 /* alltypes.h:124:25 */
-
-type uint64_t = uint64 /* alltypes.h:129:25 */
-
type uintmax_t = uint64 /* alltypes.h:139:25 */
type int_fast8_t = int8_t /* stdint.h:22:16 */
@@ -654,7 +691,7 @@ type va_list = uintptr /* alltypes.h:319:27 */
type _G_fpos64_t = struct {
_ [0]uint64
- __opaque [16]int8
+ __opaque [16]uint8
} /* stdio.h:54:9 */
type fpos_t = _G_fpos64_t /* stdio.h:58:3 */
@@ -1358,7 +1395,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}()
}
- for i = size_t(0); (i < size_t(8)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
+ for i = size_t(0); (i < size_t(8)) && ((c | 32) == int32(*(*uint8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
if i < size_t(7) {
c = func() int32 {
if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
@@ -1386,7 +1423,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
return (float64(float32(sign) * X__builtin_inff(tls)))
}
if !(i != 0) {
- for i = size_t(0); (i < size_t(3)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
+ for i = size_t(0); (i < size_t(3)) && ((c | 32) == int32(*(*uint8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
if i < size_t(2) {
c = func() int32 {
if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
@@ -1474,7 +1511,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}
// Lookup table for digit values. -1==255>=36 -> invalid
-var table = [257]uint8{Uint8FromInt32(-1),
+var table1 = [257]uint8{Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
@@ -1500,7 +1537,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64
var x uint32
var y uint64
var bs int32
- val = (uintptr(unsafe.Pointer(&table)) + uintptr(1))
+ val = (uintptr(unsafe.Pointer(&table1)) + uintptr(1))
neg = 0
if !((base > uint32(36)) || (base == uint32(1))) {
goto __1
@@ -1656,7 +1693,7 @@ __15:
if !(!((base & (base - uint32(1))) != 0)) {
goto __24
}
- bs = int32(*(*int8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
+ bs = int32(*(*uint8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
x = uint32(0)
__26:
if !((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (x <= (0xffffffff / uint32(32)))) {
@@ -1831,11 +1868,57 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */
return c
}
+type lconv = struct {
+ decimal_point uintptr
+ thousands_sep uintptr
+ grouping uintptr
+ int_curr_symbol uintptr
+ currency_symbol uintptr
+ mon_decimal_point uintptr
+ mon_thousands_sep uintptr
+ mon_grouping uintptr
+ positive_sign uintptr
+ negative_sign uintptr
+ int_frac_digits uint8
+ frac_digits uint8
+ p_cs_precedes uint8
+ p_sep_by_space uint8
+ n_cs_precedes uint8
+ n_sep_by_space uint8
+ p_sign_posn uint8
+ n_sign_posn uint8
+ int_p_cs_precedes uint8
+ int_p_sep_by_space uint8
+ int_n_cs_precedes uint8
+ int_n_sep_by_space uint8
+ int_p_sign_posn uint8
+ int_n_sign_posn uint8
+ _ [2]byte
+} /* locale.h:24:1 */
+
+// Support signed or unsigned plain-char
+
+// Implementation choices...
+
+// Arbitrary numbers...
+
+// POSIX/SUS requirements follow. These numbers come directly
+// from SUS and have nothing to do with the host system.
+
+var posix_lconv = lconv{decimal_point: ts + 23 /* "." */, thousands_sep: ts + 13 /* "" */, grouping: ts + 13 /* "" */, int_curr_symbol: ts + 13 /* "" */, currency_symbol: ts + 13 /* "" */, mon_decimal_point: ts + 13 /* "" */, mon_thousands_sep: ts + 13 /* "" */, mon_grouping: ts + 13 /* "" */, positive_sign: ts + 13 /* "" */, negative_sign: ts + 13 /* "" */, int_frac_digits: uint8(255), frac_digits: uint8(255), p_cs_precedes: uint8(255), p_sep_by_space: uint8(255), n_cs_precedes: uint8(255), n_sep_by_space: uint8(255), p_sign_posn: uint8(255), n_sign_posn: uint8(255), int_p_cs_precedes: uint8(255), int_p_sep_by_space: uint8(255), int_n_cs_precedes: uint8(255), int_n_sep_by_space: uint8(255), int_p_sign_posn: uint8(255), int_n_sign_posn: uint8(255)} /* localeconv.c:4:27 */
+
+func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */
+ return uintptr(unsafe.Pointer(&posix_lconv))
+}
+
func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
if !(e != 0) {
if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1856,7 +1939,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
bp := tls.Alloc(4)
defer tls.Free(4)
- *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x}
+ *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) {
+ *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff)))
if !(e != 0) {
if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1873,10 +1959,6 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
return 4
}
-func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
- return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
-}
-
func X__fpclassifyl(tls *TLS, x float64) int32 { /* __fpclassifyl.c:4:5: */
return X__fpclassify(tls, x)
}
@@ -1897,6 +1979,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -1937,43 +2050,6 @@ func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */
return Xscalbn(tls, x, n)
}
-// Upper 6 state bits are a negative integer offset to bound-check next byte
-// equivalent to: ( (b-0x80) | (b+offset) ) & ~0x3f
-
-// Interval [a,b). Either a must be 80 or b must be c0, lower 3 bits clear.
-
-// Arbitrary encoding for representing code units instead of characters.
-
-// Get inline definition of MB_CUR_MAX.
-
-type lconv = struct {
- decimal_point uintptr
- thousands_sep uintptr
- grouping uintptr
- int_curr_symbol uintptr
- currency_symbol uintptr
- mon_decimal_point uintptr
- mon_thousands_sep uintptr
- mon_grouping uintptr
- positive_sign uintptr
- negative_sign uintptr
- int_frac_digits int8
- frac_digits int8
- p_cs_precedes int8
- p_sep_by_space int8
- n_cs_precedes int8
- n_sep_by_space int8
- p_sign_posn int8
- n_sign_posn int8
- int_p_cs_precedes int8
- int_p_sep_by_space int8
- int_n_cs_precedes int8
- int_n_sep_by_space int8
- int_p_sign_posn int8
- int_n_sign_posn int8
- _ [2]byte
-} /* locale.h:24:1 */
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -1986,7 +2062,7 @@ type lconv = struct {
type __locale_map = struct {
__map uintptr
map_size size_t
- name [24]int8
+ name [24]uint8
next uintptr
} /* alltypes.h:336:9 */
@@ -2000,9 +2076,9 @@ type tls_module = struct {
} /* libc.h:14:1 */
type __libc = struct {
- can_do_threads int8
- threaded int8
- secure int8
+ can_do_threads uint8
+ threaded uint8
+ secure uint8
need_locks int8
threads_minus_1 int32
auxv uintptr
@@ -2098,7 +2174,7 @@ type sigevent = struct {
sigev_notify int32
sigev_notify_function uintptr
sigev_notify_attributes uintptr
- __pad [44]int8
+ __pad [44]uint8
} /* time.h:107:1 */
type __ptcb = struct {
@@ -2162,7 +2238,7 @@ type siginfo_t = struct {
si_code int32
__si_fields struct {
_ [0]uint32
- __pad [116]int8
+ __pad [116]uint8
}
} /* signal.h:145:3 */
@@ -2208,58 +2284,61 @@ func a_clz_32(tls *TLS, x uint32_t) int32 { /* atomic_arch.h:91:19: */
func a_swap(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:108:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, v) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, v) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_fetch_add(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:119:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (int32(uint32(old)+uint32(v)))) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, (int32(uint32(old)+uint32(v)))) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_fetch_and(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:130:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (old&v)) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, (old&v)) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_fetch_or(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:140:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (old|v)) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, (old|v)) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_and(tls *TLS, p uintptr, v int32) { /* atomic.h:151:20: */
- a_fetch_and(tls, AtomicLoadUintptr(&p), v)
+ a_fetch_and(tls, p, v)
}
func a_or(tls *TLS, p uintptr, v int32) { /* atomic.h:159:20: */
- a_fetch_or(tls, AtomicLoadUintptr(&p), v)
+ a_fetch_or(tls, p, v)
}
func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic.h:220:20: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = struct{ v uint64_t }{v: v}
+ *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = func() (r struct{ v uint64_t }) {
+ *(*uint64_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = v
+ return r
+ }()
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 {
- a_or(tls, AtomicLoadUintptr(&p), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
+ a_or(tls, p, int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
}
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)) != 0 {
- a_or(tls, (AtomicLoadUintptr(&p) + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
+ a_or(tls, (p + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
}
}
-type a_cas_p_undefined_but_pointer_not_32bit = [1]int8 /* atomic.h:229:14 */
+type a_cas_p_undefined_but_pointer_not_32bit = [1]uint8 /* atomic.h:229:14 */
func a_ctz_32(tls *TLS, x uint32_t) int32 { /* atomic.h:256:19: */
return (31 - a_clz_32(tls, (x&-x)))
@@ -2277,11 +2356,11 @@ func a_ctz_64(tls *TLS, x uint64_t) int32 { /* atomic.h:272:19: */
return int32(_sdebruijn648[(((x & -x) * 0x022fdd63cc95386d) >> 58)])
}
-var _sdebruijn648 = [64]int8{
- int8(0), int8(1), int8(2), int8(53), int8(3), int8(7), int8(54), int8(27), int8(4), int8(38), int8(41), int8(8), int8(34), int8(55), int8(48), int8(28),
- int8(62), int8(5), int8(39), int8(46), int8(44), int8(42), int8(22), int8(9), int8(24), int8(35), int8(59), int8(56), int8(49), int8(18), int8(29), int8(11),
- int8(63), int8(52), int8(6), int8(26), int8(37), int8(40), int8(33), int8(47), int8(61), int8(45), int8(43), int8(21), int8(23), int8(58), int8(17), int8(10),
- int8(51), int8(25), int8(36), int8(32), int8(60), int8(20), int8(57), int8(16), int8(50), int8(31), int8(19), int8(15), int8(30), int8(14), int8(13), int8(12),
+var _sdebruijn648 = [64]uint8{
+ uint8(0), uint8(1), uint8(2), uint8(53), uint8(3), uint8(7), uint8(54), uint8(27), uint8(4), uint8(38), uint8(41), uint8(8), uint8(34), uint8(55), uint8(48), uint8(28),
+ uint8(62), uint8(5), uint8(39), uint8(46), uint8(44), uint8(42), uint8(22), uint8(9), uint8(24), uint8(35), uint8(59), uint8(56), uint8(49), uint8(18), uint8(29), uint8(11),
+ uint8(63), uint8(52), uint8(6), uint8(26), uint8(37), uint8(40), uint8(33), uint8(47), uint8(61), uint8(45), uint8(43), uint8(21), uint8(23), uint8(58), uint8(17), uint8(10),
+ uint8(51), uint8(25), uint8(36), uint8(32), uint8(60), uint8(20), uint8(57), uint8(16), uint8(50), uint8(31), uint8(19), uint8(15), uint8(30), uint8(14), uint8(13), uint8(12),
} /* atomic.h:274:20 */
type __timer = struct {
@@ -2302,14 +2381,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1
if cnt < 0 {
cnt = 0x7fffffff
}
- _ = (Bool32((X__syscall3(tls, 240, int32(AtomicLoadUintptr(&addr)), (int32(1|priv)), int32(cnt)) != -38) || (X__syscall3(tls, 240, int32(AtomicLoadUintptr(&addr)), 1, int32(cnt)) != 0)))
+ _ = (Bool32((X__syscall3(tls, 240, int32(addr), (int32(1|priv)), int32(cnt)) != -38) || (X__syscall3(tls, 240, int32(addr), 1, int32(cnt)) != 0)))
}
func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */
if priv != 0 {
priv = 128
}
- _ = (Bool32((X__syscall4(tls, 240, int32(AtomicLoadUintptr(&addr)), (int32(0|priv)), int32(val), 0) != -38) || (X__syscall4(tls, 240, int32(AtomicLoadUintptr(&addr)), 0, int32(val), 0) != 0)))
+ _ = (Bool32((X__syscall4(tls, 240, int32(addr), (int32(0|priv)), int32(val), 0) != -38) || (X__syscall4(tls, 240, int32(addr), 0, int32(val), 0) != 0)))
}
var X__fsmu8 = [51]uint32_t{
@@ -3472,12 +3551,12 @@ type linger = struct {
type sockaddr = struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
} /* socket.h:367:1 */
type sockaddr_storage = struct {
ss_family sa_family_t
- __ss_padding [122]int8
+ __ss_padding [122]uint8
__ss_align uint32
} /* socket.h:372:1 */
@@ -3524,7 +3603,7 @@ type ipv6_mreq = struct {
type ip_opts = struct {
ip_dst struct{ s_addr in_addr_t }
- ip_opts [40]int8
+ ip_opts [40]uint8
} /* in.h:229:1 */
type ip_mreq = struct {
@@ -3556,7 +3635,7 @@ type group_req = struct {
gr_interface uint32_t
gr_group struct {
ss_family sa_family_t
- __ss_padding [122]int8
+ __ss_padding [122]uint8
__ss_align uint32
}
} /* in.h:275:1 */
@@ -3565,12 +3644,12 @@ type group_source_req = struct {
gsr_interface uint32_t
gsr_group struct {
ss_family sa_family_t
- __ss_padding [122]int8
+ __ss_padding [122]uint8
__ss_align uint32
}
gsr_source struct {
ss_family sa_family_t
- __ss_padding [122]int8
+ __ss_padding [122]uint8
__ss_align uint32
}
} /* in.h:280:1 */
@@ -3579,14 +3658,14 @@ type group_filter = struct {
gf_interface uint32_t
gf_group struct {
ss_family sa_family_t
- __ss_padding [122]int8
+ __ss_padding [122]uint8
__ss_align uint32
}
gf_fmode uint32_t
gf_numsrc uint32_t
gf_slist [1]struct {
ss_family sa_family_t
- __ss_padding [122]int8
+ __ss_padding [122]uint8
__ss_align uint32
}
} /* in.h:286:1 */
@@ -3757,7 +3836,7 @@ func Xgetaddrinfo(tls *TLS, host uintptr, serv uintptr, hint uintptr, res uintpt
// var addrs [48]address at bp+8, 1344
- // var canon [256]int8 at bp+1352, 256
+ // var canon [256]uint8 at bp+1352, 256
var outcanon uintptr
var nservs int32
@@ -4095,7 +4174,7 @@ func Xgethostbyname2_r(tls *TLS, name uintptr, af int32, h uintptr, buf uintptr,
// var addrs [48]address at bp, 1344
- // var canon [256]int8 at bp+1344, 256
+ // var canon [256]uint8 at bp+1344, 256
var i int32
var cnt int32
@@ -4192,12 +4271,12 @@ type if_nameindex = struct {
type ifaddr = struct {
ifa_addr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
ifa_ifu struct {
ifu_broadaddr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
}
ifa_ifp uintptr
@@ -4215,12 +4294,12 @@ type ifmap = struct {
} /* if.h:64:1 */
type ifreq = struct {
- ifr_ifrn struct{ ifrn_name [16]int8 }
+ ifr_ifrn struct{ ifrn_name [16]uint8 }
ifr_ifru struct {
_ [0]uint32
ifru_addr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
}
} /* if.h:76:1 */
@@ -4252,7 +4331,7 @@ type _ns_flagdata = struct {
} /* nameser.h:48:1 */
type __ns_rr = struct {
- name [1025]int8
+ name [1025]uint8
_ [1]byte
__type uint16_t
rr_class uint16_t
@@ -4274,8 +4353,8 @@ type ns_rcode = uint32 /* nameser.h:115:3 */
type ns_update_operation = uint32 /* nameser.h:121:3 */
type ns_tsig_key1 = struct {
- name [1025]int8
- alg [1025]int8
+ name [1025]uint8
+ alg [1025]uint8
_ [2]byte
data uintptr
len int32
@@ -4323,7 +4402,7 @@ type __res_state = struct {
id uint16
_ [2]byte
dnsrch [7]uintptr
- defdname [256]int8
+ defdname [256]uint8
pfcode uint32
ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
_ [4]byte
@@ -4338,7 +4417,7 @@ type __res_state = struct {
_flags uint32
_u struct {
_ [0]uint32
- pad [52]int8
+ pad [52]uint8
}
} /* resolv.h:26:9 */
@@ -4353,9 +4432,9 @@ type res_sym = struct {
func itoa(tls *TLS, p uintptr, x uint32) uintptr { /* getnameinfo.c:18:13: */
p += (uintptr(uint32(3) * uint32(unsafe.Sizeof(int32(0)))))
- *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = uint8(0)
for ok := true; ok; ok = x != 0 {
- *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (int8(uint32('0') + (x % uint32(10))))
+ *(*uint8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (uint8(uint32('0') + (x % uint32(10))))
x = x / (uint32(10))
}
return p
@@ -4365,28 +4444,28 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */
bp := tls.Alloc(32)
defer tls.Free(32)
- Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */
+ Xsprintf(tls, s, ts+25, /* "%d.%d.%d.%d.in-a..." */
VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip)))))
}
func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */
var i int32
for i = 15; i >= 0; i-- {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = uint8('.')
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = uint8('.')
}
- Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */)
+ Xstrcpy(tls, s, ts+50 /* "ip6.arpa" */)
}
-var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
+var _sxdigits = *(*[17]uint8)(unsafe.Pointer(ts + 59 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */
bp := tls.Alloc(556)
defer tls.Free(556)
- // var line [512]int8 at bp+16, 512
+ // var line [512]uint8 at bp+16, 512
var p uintptr
var z uintptr
@@ -4397,31 +4476,31 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
// var iplit address at bp+528, 28
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
return
}
if family == 2 {
Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint32(4))
- Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ Xmemcpy(tls, bp /* &atmp[0] */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
a = bp /* &atmp[0] */
}
- for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 {
+ for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]uint8{})), f) != 0 {
if AssignUintptr(&p, Xstrchr(tls, bp+16 /* &line[0] */, '#')) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
- *(*int8)(unsafe.Pointer(p)) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8('\n')
+ *(*uint8)(unsafe.Pointer(p)) = uint8(0)
}
- for p = bp + 16; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for p = bp + 16; /* &line[0] */ (*(*uint8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8(0)
if X__lookup_ipliteral(tls, bp+528 /* &iplit */, bp+16 /* &line[0] */, 0) <= 0 {
continue
}
if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 {
Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint32(4))
- Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
(*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0)
}
@@ -4429,11 +4508,11 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
continue
}
- for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for ; (*(*uint8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ for z = p; (*(*uint8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(z)))) != 0); z++ {
}
- *(*int8)(unsafe.Pointer(z)) = int8(0)
+ *(*uint8)(unsafe.Pointer(z)) = uint8(0)
if ((int32(z) - int32(p)) / 1) < 256 {
Xmemcpy(tls, buf, p, (uint32(((int32(z) - int32(p)) / 1) + 1)))
break
@@ -4473,11 +4552,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
bp := tls.Alloc(347)
defer tls.Free(347)
- // var ptr [78]int8 at bp, 78
+ // var ptr [78]uint8 at bp, 78
- // var buf [256]int8 at bp+78, 256
+ // var buf [256]uint8 at bp+78, 256
- // var num [13]int8 at bp+334, 13
+ // var num [13]uint8 at bp+334, 13
var af int32 = int32((*sockaddr)(unsafe.Pointer(sa1)).sa_family)
var a uintptr
@@ -4497,7 +4576,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (sl < socklen_t(unsafe.Sizeof(sockaddr_in6{}))) {
return -6
}
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
mkptr6(tls, bp /* &ptr[0] */, a)
} else {
mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
@@ -4509,11 +4588,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
}
if (node != 0) && (nodelen != 0) {
- *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = uint8(0)
if !((flags & 0x01) != 0) {
reverse_hosts(tls, bp+78 /* &buf[0] */, a, scopeid, af)
}
- if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
Xabort(tls) //TODO-
// unsigned char query[18+PTR_MAX], reply[512];
// int qlen = __res_mkquery(0, ptr, 1, RR_PTR,
@@ -4524,11 +4603,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
// if (rlen > 0)
// __dns_parse(reply, rlen, dns_parse_callback, buf);
}
- if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
if (flags & 0x08) != 0 {
return -2
}
- Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]int8{})))
+ Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]uint8{})))
if scopeid != 0 {
Xabort(tls) //TODO-
// char *p = 0, tmp[IF_NAMESIZE+1];
@@ -4551,11 +4630,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (serv != 0) && (servlen != 0) {
var p uintptr = bp + 78 /* buf */
var port int32 = int32(Xntohs(tls, (*sockaddr_in)(unsafe.Pointer(sa1)).sin_port))
- *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = uint8(0)
if !((flags & 0x02) != 0) {
reverse_services(tls, bp+78 /* &buf[0] */, port, (flags & 0x10))
}
- if !(int32(*(*int8)(unsafe.Pointer(p))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) != 0) {
p = itoa(tls, bp+334 /* &num[0] */, uint32(port))
}
if Xstrlen(tls, p) >= servlen {
@@ -4586,15 +4665,15 @@ func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5
for i = 0; i < 4; i++ {
*(*uint32)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*4)) = Xstrtoul(tls, s, bp+16 /* &z */, 0)
- if ((*(*uintptr)(unsafe.Pointer(bp + 16 /* z */)) == s) || ((*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* z */)))) != 0) && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* z */))))) != '.'))) || !(func() int32 {
+ if ((*(*uintptr)(unsafe.Pointer(bp + 16 /* z */)) == s) || ((*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* z */)))) != 0) && (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* z */))))) != '.'))) || !(func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(s))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
}() != 0) {
return 0
}
- if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* z */))))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* z */))))) != 0) {
break
}
s = (*(*uintptr)(unsafe.Pointer(bp + 16 /* z */)) + uintptr(1))
@@ -4633,25 +4712,25 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
var j int32
var max int32
var best int32
- // var buf [100]int8 at bp+176, 100
+ // var buf [100]uint8 at bp+176, 100
switch af {
case 2:
- if socklen_t(Xsnprintf(tls, s, l, ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
+ if socklen_t(Xsnprintf(tls, s, l, ts+103 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
return s
}
break
case 10:
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
- Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]int8{})),
- ts+113, /* "%x:%x:%x:%x:%x:%..." */
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12)) != 0 {
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]uint8{})),
+ ts+115, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15))))))
} else {
- Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]int8{})),
- ts+137, /* "%x:%x:%x:%x:%x:%..." */
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint32(unsafe.Sizeof([100]uint8{})),
+ ts+139, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
@@ -4660,18 +4739,18 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
// Replace longest /(^0|:)[:0]{2,}/ with "::"
i = AssignInt32(&best, 0)
max = 2
- for ; *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
- if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
+ for ; *(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
+ if (i != 0) && (int32(*(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
continue
}
- j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */))
+ j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+169 /* ":0" */))
if j > max {
best = i
max = j
}
}
if max > 3 {
- *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrInt8(bp+176 /* &buf */ +uintptr((best+1)), int8(':'))
+ *(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrUint8(bp+176 /* &buf */ +uintptr((best+1)), uint8(':'))
Xmemmove(tls, ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(2)), ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(max)), (uint32(((i - best) - max) + 1)))
}
if Xstrlen(tls, bp+176 /* &buf[0] */) < l {
@@ -4716,20 +4795,20 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
for i = 0; i < 4; i++ {
for v = AssignInt32(&j, 0); (j < 3) && (func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
}() != 0); j++ {
- v = (((10 * v) + int32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - '0')
+ v = (((10 * v) + int32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))) - '0')
}
- if ((j == 0) || ((j > 1) && (int32(*(*int8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
+ if ((j == 0) || ((j > 1) && (int32(*(*uint8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
return 0
}
*(*uint8)(unsafe.Pointer(a + uintptr(i))) = uint8(v)
- if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
+ if (int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
return 1
}
- if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
+ if int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
return 0
}
s += (uintptr(j + 1))
@@ -4740,15 +4819,15 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
return -1
}
- if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
+ if (int32(*(*uint8)(unsafe.Pointer(s))) == ':') && (int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
return 0
}
for i = 0; ; i++ {
- if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
+ if (int32(*(*uint8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
brk = i
*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(0)
- if !(int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
break
}
if i == 7 {
@@ -4756,21 +4835,21 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
}
continue
}
- for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
+ for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
v = ((16 * v) + d)
}
if j == 0 {
return 0
}
*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(v)
- if !(int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
+ if !(int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
break
}
if i == 7 {
return 0
}
- if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
- if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
+ if int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
+ if (int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
return 0
}
need_v4 = 1
@@ -4812,7 +4891,7 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
(*address)(unsafe.Pointer(buf)).scopeid = uint32(0)
return 1
}
- // var tmp [64]int8 at bp+4, 64
+ // var tmp [64]uint8 at bp+4, 64
var p uintptr = Xstrchr(tls, name, '%')
// var z uintptr at bp+84, 4
@@ -4820,7 +4899,7 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
var scopeid uint64 = uint64(0)
if (p != 0) && (((int32(p) - int32(name)) / 1) < 64) {
Xmemcpy(tls, bp+4 /* &tmp[0] */, name, (uint32((int32(p) - int32(name)) / 1)))
- *(*int8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int32(p) - int32(name)) / 1)))) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int32(p) - int32(name)) / 1)))) = uint8(0)
name = bp + 4 /* &tmp[0] */
}
@@ -4836,15 +4915,15 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
if p != 0 {
if func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
}() != 0 {
scopeid = Xstrtoull(tls, p, bp+84 /* &z */, 10)
} else {
*(*uintptr)(unsafe.Pointer(bp + 84 /* z */)) = (p - uintptr(1))
}
- if *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* z */)))) != 0 {
+ if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 84 /* z */)))) != 0 {
Xabort(tls) //TODO-
// if (!IN6_IS_ADDR_LINKLOCAL(&a6) &&
// !IN6_IS_ADDR_MC_LINKLOCAL(&a6))
@@ -4911,7 +4990,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
bp := tls.Alloc(512)
defer tls.Free(512)
- // var line [512]int8 at bp, 512
+ // var line [512]uint8 at bp, 512
var l size_t = Xstrlen(tls, name)
var cnt int32 = 0
@@ -4921,7 +5000,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
var _f FILE
_ = _f
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) {
case 2:
@@ -4935,24 +5014,24 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
return -11
}
}
- for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0) && (cnt < 48) {
+ for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]uint8{})), f) != 0) && (cnt < 48) {
var p uintptr
var z uintptr
if AssignUintptr(&p, Xstrchr(tls, bp /* &line[0] */, '#')) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
- *(*int8)(unsafe.Pointer(p)) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8('\n')
+ *(*uint8)(unsafe.Pointer(p)) = uint8(0)
}
- for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
+ for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
}
if !(p != 0) {
continue
}
// Isolate IP address to parse
- for p = bp; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for p = bp; /* &line[0] */ (*(*uint8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8(0)
switch name_from_numeric(tls, (buf + uintptr(cnt)*28), bp /* &line[0] */, family) {
case 1:
cnt++
@@ -4965,11 +5044,11 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
}
// Extract first name as canonical name
- for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for ; (*(*uint8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ for z = p; (*(*uint8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(z)))) != 0); z++ {
}
- *(*int8)(unsafe.Pointer(z)) = int8(0)
+ *(*uint8)(unsafe.Pointer(z)) = uint8(0)
if is_valid_hostname(tls, p) != 0 {
Xmemcpy(tls, canon, p, (uint32(((int32(z) - int32(p)) / 1) + 1)))
}
@@ -5043,13 +5122,13 @@ type policy = struct {
} /* lookup_name.c:237:14 */
var defpolicy = [6]policy{
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
// Last rule must match all addresses to stop loop.
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
} /* lookup_name.c:241:3 */
func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */
@@ -5113,7 +5192,7 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
var j int32
_ = j
- *(*int8)(unsafe.Pointer(canon)) = int8(0)
+ *(*uint8)(unsafe.Pointer(canon)) = uint8(0)
if name != 0 {
// reject empty name and check len so it fits into temp bufs
var l size_t = Xstrnlen(tls, name, uint32(255))
@@ -5217,10 +5296,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
*(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
} else {
Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint32(4))
Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint32(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint32(4))
Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint32(4))
da = bp + 56 /* &da4 */
@@ -5274,7 +5353,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
bp := tls.Alloc(4)
defer tls.Free(4)
- var line [128]int8
+ var line [128]uint8
_ = line
var cnt int32 = 0
var p uintptr
@@ -5318,12 +5397,12 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
}
if name != 0 {
- if !(int32(*(*int8)(unsafe.Pointer(name))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(name))) != 0) {
return -8
}
port = Xstrtoul(tls, name, bp /* &z */, 10)
}
- if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
if port > uint32(65535) {
return -8
}
@@ -5434,7 +5513,9 @@ func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 72 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 36 /* &.write */))))(tls, f, uintptr(0), uint32(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint32(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+28 /* &.wbase */, AssignPtrUintptr(f+16 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -5462,7 +5543,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 32 /* &.read */))))(tls, f, bp /* &c */, uint32(1)) == size_t(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint32(1)) == size_t(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
@@ -5486,7 +5569,7 @@ func store_int(tls *TLS, dest uintptr, size int32, i uint64) { /* vfscanf.c:22:1
}
switch size {
case -2:
- *(*int8)(unsafe.Pointer(dest)) = int8(i)
+ *(*uint8)(unsafe.Pointer(dest)) = uint8(i)
break
case -1:
*(*int16)(unsafe.Pointer(dest)) = int16(i)
@@ -6078,7 +6161,7 @@ __110:
}())) + 1)))) != 0) {
goto __111
}
- switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*int8)(unsafe.Pointer(bp + 264)) = int8(c); return bp + 264 }(), uint32(1), bp+268 /* &st */) {
+ switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*uint8)(unsafe.Pointer(bp + 264)) = uint8(c); return bp + 264 }(), uint32(1), bp+268 /* &st */) {
case Uint32FromInt32(-1):
goto __113
case Uint32FromInt32(-2):
@@ -6141,7 +6224,7 @@ __122:
}())) + 1)))) != 0) {
goto __123
}
- *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint32(&i, 1)))) = int8(c)
+ *(*uint8)(unsafe.Pointer(s + uintptr(PostIncUint32(&i, 1)))) = uint8(c)
if !(i == k) {
goto __124
}
@@ -6173,7 +6256,7 @@ __128:
}())) + 1)))) != 0) {
goto __129
}
- *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint32(&i, 1)))) = int8(c)
+ *(*uint8)(unsafe.Pointer(s + uintptr(PostIncUint32(&i, 1)))) = uint8(c)
goto __128
__129:
;
@@ -6239,7 +6322,7 @@ __138:
if !(s != 0) {
goto __139
}
- *(*int8)(unsafe.Pointer(s + uintptr(i))) = int8(0)
+ *(*uint8)(unsafe.Pointer(s + uintptr(i))) = uint8(0)
__139:
;
__137:
@@ -6519,7 +6602,7 @@ __1:
goto __2
}
__3:
- if !((((uintptr_t(s) & (uint32(unsafe.Sizeof(size_t(0))) - uint32(1))) != 0) && (n != 0)) && (AssignPtrInt8(d, *(*int8)(unsafe.Pointer(s))) != 0)) {
+ if !((((uintptr_t(s) & (uint32(unsafe.Sizeof(size_t(0))) - uint32(1))) != 0) && (n != 0)) && (AssignPtrUint8(d, *(*uint8)(unsafe.Pointer(s))) != 0)) {
goto __5
}
goto __4
@@ -6531,7 +6614,7 @@ __4:
goto __5
__5:
;
- if !((n != 0) && (*(*int8)(unsafe.Pointer(s)) != 0)) {
+ if !((n != 0) && (*(*uint8)(unsafe.Pointer(s)) != 0)) {
goto __6
}
wd = d
@@ -6557,7 +6640,7 @@ __6:
__2:
;
__10:
- if !((n != 0) && (AssignPtrInt8(d, *(*int8)(unsafe.Pointer(s))) != 0)) {
+ if !((n != 0) && (AssignPtrUint8(d, *(*uint8)(unsafe.Pointer(s))) != 0)) {
goto __12
}
goto __11
@@ -6569,7 +6652,7 @@ __11:
goto __12
__12:
;
- *(*int8)(unsafe.Pointer(d)) = int8(0)
+ *(*uint8)(unsafe.Pointer(d)) = uint8(0)
finish:
return ((size_t((int32(d) - int32(d0)) / 1)) + Xstrlen(tls, s))
}
@@ -6603,11 +6686,11 @@ func X__strncasecmp_l(tls *TLS, l uintptr, r uintptr, n size_t, loc locale_t) in
func Xstrncat(tls *TLS, d uintptr, s uintptr, n size_t) uintptr { /* strncat.c:3:6: */
var a uintptr = d
d += uintptr(Xstrlen(tls, d))
- for (n != 0) && (*(*int8)(unsafe.Pointer(s)) != 0) {
+ for (n != 0) && (*(*uint8)(unsafe.Pointer(s)) != 0) {
n--
- *(*int8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1)))
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1)))
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = uint8(0)
return a
}
@@ -6626,18 +6709,18 @@ func Xstrspn(tls *TLS, s uintptr, c uintptr) size_t { /* strspn.c:6:8: */
var a uintptr = s
*(*[8]size_t)(unsafe.Pointer(bp /* byteset */)) = [8]size_t{0: size_t(0)}
- if !(int32(*(*int8)(unsafe.Pointer(c))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(c))) != 0) {
return size_t(0)
}
- if !(int32(*(*int8)(unsafe.Pointer(c + 1))) != 0) {
- for ; int32(*(*int8)(unsafe.Pointer(s))) == int32(*(*int8)(unsafe.Pointer(c))); s++ {
+ if !(int32(*(*uint8)(unsafe.Pointer(c + 1))) != 0) {
+ for ; int32(*(*uint8)(unsafe.Pointer(s))) == int32(*(*uint8)(unsafe.Pointer(c))); s++ {
}
return (size_t((int32(s) - int32(a)) / 1))
}
- for ; (*(*int8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint32(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint32(8)*uint32(unsafe.Sizeof(size_t(0))))))*4, (size_t(size_t(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint32(8)*uint32(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
+ for ; (*(*uint8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint32(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint32(8)*uint32(unsafe.Sizeof(size_t(0))))))*4, (size_t(size_t(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint32(8)*uint32(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
}
- for ; (*(*int8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint32(8)*uint32(unsafe.Sizeof(size_t(0))))))*4)) & (size_t(size_t(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint32(8) * uint32(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
+ for ; (*(*uint8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint32(8)*uint32(unsafe.Sizeof(size_t(0))))))*4)) & (size_t(size_t(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint32(8) * uint32(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
}
return (size_t((int32(s) - int32(a)) / 1))
}
@@ -6647,12 +6730,12 @@ func Xstrtok(tls *TLS, s uintptr, sep uintptr) uintptr { /* strtok.c:3:6: */
return uintptr(0)
}
s += uintptr(Xstrspn(tls, s, sep))
- if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
return AssignPtrUintptr(uintptr(unsafe.Pointer(&_sp)), uintptr(0))
}
_sp = (s + uintptr(Xstrcspn(tls, s, sep)))
- if *(*int8)(unsafe.Pointer(_sp)) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&_sp, 1))) = int8(0)
+ if *(*uint8)(unsafe.Pointer(_sp)) != 0 {
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&_sp, 1))) = uint8(0)
} else {
_sp = uintptr(0)
}
@@ -6807,5 +6890,9 @@ func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pth
return 0
}
-var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+func init() {
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&ptable)) + 0)) = (uintptr(unsafe.Pointer(&table)) + uintptr(128)*2) // __ctype_b_loc.c:36:45:
+}
+
+var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/libc/musl_linux_arm64.go b/vendor/modernc.org/libc/musl_linux_arm64.go
index eed283c21..7c1f17cc8 100644
--- a/vendor/modernc.org/libc/musl_linux_arm64.go
+++ b/vendor/modernc.org/libc/musl_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_arm64.go -pkgname libc -static-locals-prefix _s -Iarch/aarch64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_arm64.go -pkgname libc -static-locals-prefix _s -Iarch/aarch64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/__ctype_b_loc.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
package libc
@@ -363,6 +363,49 @@ type size_t = uint64 /* <builtin>:9:23 */
type wchar_t = uint32 /* <builtin>:15:24 */
+type uint16_t = uint16 /* alltypes.h:134:25 */
+
+type uint32_t = uint32 /* alltypes.h:139:25 */
+
+type uint64_t = uint64 /* alltypes.h:144:25 */
+
+func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
+ return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
+}
+
+var table = [384]uint16{
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x320) / 256) | ((0x320) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x220) / 256) | ((0x220) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ (uint16((((0x160) / 256) | ((0x160) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)),
+ (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x8d8) / 256) | ((0x8d8) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8d5) / 256) | ((0x8d5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)),
+ (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x8c5) / 256) | ((0x8c5) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)),
+ (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8d6) / 256) | ((0x8d6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)),
+ (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x8c6) / 256) | ((0x8c6) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x4c0) / 256) | ((0x4c0) * 256)) % 65536)), (uint16((((0x200) / 256) | ((0x200) * 256)) % 65536)),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+} /* __ctype_b_loc.c:9:29 */
+
+var ptable uintptr = 0 /* __ctype_b_loc.c:36:29 */
+
+func X__ctype_b_loc(tls *TLS) uintptr { /* __ctype_b_loc.c:38:22: */
+ return uintptr(unsafe.Pointer(&ptable))
+}
+
func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
}
@@ -451,7 +494,7 @@ type dirent = struct {
d_off off_t
d_reclen uint16
d_type uint8
- d_name [256]int8
+ d_name [256]uint8
_ [5]byte
} /* dirent.h:5:1 */
@@ -461,7 +504,7 @@ type __dirstream = struct {
buf_pos int32
buf_end int32
lock [1]int32
- buf [2048]int8
+ buf [2048]uint8
} /* dirent.h:20:9 */
type DIR = __dirstream /* dirent.h:20:28 */
@@ -547,13 +590,13 @@ type max_align_t = struct {
__ld float64
} /* alltypes.h:49:54 */
-type dirstream_buf_alignment_check = [1]int8 /* readdir.c:7:14 */
+type dirstream_buf_alignment_check = [1]uint8 /* readdir.c:7:14 */
func Xreaddir(tls *TLS, dir uintptr) uintptr { /* readdir.c:10:15: */
var de uintptr
if (*DIR)(unsafe.Pointer(dir)).buf_pos >= (*DIR)(unsafe.Pointer(dir)).buf_end {
- var len int32 = int32(X__syscall3(tls, int64(61), int64((*DIR)(unsafe.Pointer(dir)).fd), int64(dir+24 /* &.buf */), int64(unsafe.Sizeof([2048]int8{}))))
+ var len int32 = int32(X__syscall3(tls, int64(61), int64((*DIR)(unsafe.Pointer(dir)).fd), int64(dir+24 /* &.buf */), int64(unsafe.Sizeof([2048]uint8{}))))
if len <= 0 {
if (len < 0) && (len != -2) {
(*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = -len
@@ -583,12 +626,6 @@ type intmax_t = int64 /* alltypes.h:124:25 */
type uint8_t = uint8 /* alltypes.h:129:25 */
-type uint16_t = uint16 /* alltypes.h:134:25 */
-
-type uint32_t = uint32 /* alltypes.h:139:25 */
-
-type uint64_t = uint64 /* alltypes.h:144:25 */
-
type uintmax_t = uint64 /* alltypes.h:154:25 */
type int_fast8_t = int8_t /* stdint.h:22:16 */
@@ -654,7 +691,7 @@ type va_list = uintptr /* alltypes.h:334:27 */
type _G_fpos64_t = struct {
_ [0]uint64
- __opaque [16]int8
+ __opaque [16]uint8
} /* stdio.h:54:9 */
type fpos_t = _G_fpos64_t /* stdio.h:58:3 */
@@ -1360,7 +1397,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}()
}
- for i = uint64(0); (i < uint64(8)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
+ for i = uint64(0); (i < uint64(8)) && ((c | 32) == int32(*(*uint8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
if i < uint64(7) {
c = func() int32 {
if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
@@ -1388,7 +1425,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
return (float64(float32(sign) * X__builtin_inff(tls)))
}
if !(i != 0) {
- for i = uint64(0); (i < uint64(3)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
+ for i = uint64(0); (i < uint64(3)) && ((c | 32) == int32(*(*uint8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
if i < uint64(2) {
c = func() int32 {
if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
@@ -1476,7 +1513,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}
// Lookup table for digit values. -1==255>=36 -> invalid
-var table = [257]uint8{Uint8FromInt32(-1),
+var table1 = [257]uint8{Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
@@ -1502,7 +1539,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64
var x uint32
var y uint64
var bs int32
- val = (uintptr(unsafe.Pointer(&table)) + uintptr(1))
+ val = (uintptr(unsafe.Pointer(&table1)) + uintptr(1))
neg = 0
if !((base > uint32(36)) || (base == uint32(1))) {
goto __1
@@ -1658,7 +1695,7 @@ __15:
if !(!((base & (base - uint32(1))) != 0)) {
goto __24
}
- bs = int32(*(*int8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
+ bs = int32(*(*uint8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
x = uint32(0)
__26:
if !((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (x <= (0xffffffff / uint32(32)))) {
@@ -1833,11 +1870,57 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */
return c
}
+type lconv = struct {
+ decimal_point uintptr
+ thousands_sep uintptr
+ grouping uintptr
+ int_curr_symbol uintptr
+ currency_symbol uintptr
+ mon_decimal_point uintptr
+ mon_thousands_sep uintptr
+ mon_grouping uintptr
+ positive_sign uintptr
+ negative_sign uintptr
+ int_frac_digits uint8
+ frac_digits uint8
+ p_cs_precedes uint8
+ p_sep_by_space uint8
+ n_cs_precedes uint8
+ n_sep_by_space uint8
+ p_sign_posn uint8
+ n_sign_posn uint8
+ int_p_cs_precedes uint8
+ int_p_sep_by_space uint8
+ int_n_cs_precedes uint8
+ int_n_sep_by_space uint8
+ int_p_sign_posn uint8
+ int_n_sign_posn uint8
+ _ [2]byte
+} /* locale.h:24:1 */
+
+// Support signed or unsigned plain-char
+
+// Implementation choices...
+
+// Arbitrary numbers...
+
+// POSIX/SUS requirements follow. These numbers come directly
+// from SUS and have nothing to do with the host system.
+
+var posix_lconv = lconv{decimal_point: ts + 23 /* "." */, thousands_sep: ts + 13 /* "" */, grouping: ts + 13 /* "" */, int_curr_symbol: ts + 13 /* "" */, currency_symbol: ts + 13 /* "" */, mon_decimal_point: ts + 13 /* "" */, mon_thousands_sep: ts + 13 /* "" */, mon_grouping: ts + 13 /* "" */, positive_sign: ts + 13 /* "" */, negative_sign: ts + 13 /* "" */, int_frac_digits: uint8(255), frac_digits: uint8(255), p_cs_precedes: uint8(255), p_sep_by_space: uint8(255), n_cs_precedes: uint8(255), n_sep_by_space: uint8(255), p_sign_posn: uint8(255), n_sign_posn: uint8(255), int_p_cs_precedes: uint8(255), int_p_sep_by_space: uint8(255), int_n_cs_precedes: uint8(255), int_n_sep_by_space: uint8(255), int_p_sign_posn: uint8(255), int_n_sign_posn: uint8(255)} /* localeconv.c:4:27 */
+
+func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */
+ return uintptr(unsafe.Pointer(&posix_lconv))
+}
+
func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
if !(e != 0) {
if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1858,7 +1941,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
bp := tls.Alloc(4)
defer tls.Free(4)
- *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x}
+ *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) {
+ *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff)))
if !(e != 0) {
if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1875,10 +1961,6 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
return 4
}
-func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
- return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
-}
-
func X__fpclassifyl(tls *TLS, x float64) int32 { /* __fpclassifyl.c:4:5: */
return X__fpclassify(tls, x)
}
@@ -1899,6 +1981,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -1939,43 +2052,6 @@ func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */
return Xscalbn(tls, x, n)
}
-// Upper 6 state bits are a negative integer offset to bound-check next byte
-// equivalent to: ( (b-0x80) | (b+offset) ) & ~0x3f
-
-// Interval [a,b). Either a must be 80 or b must be c0, lower 3 bits clear.
-
-// Arbitrary encoding for representing code units instead of characters.
-
-// Get inline definition of MB_CUR_MAX.
-
-type lconv = struct {
- decimal_point uintptr
- thousands_sep uintptr
- grouping uintptr
- int_curr_symbol uintptr
- currency_symbol uintptr
- mon_decimal_point uintptr
- mon_thousands_sep uintptr
- mon_grouping uintptr
- positive_sign uintptr
- negative_sign uintptr
- int_frac_digits int8
- frac_digits int8
- p_cs_precedes int8
- p_sep_by_space int8
- n_cs_precedes int8
- n_sep_by_space int8
- p_sign_posn int8
- n_sign_posn int8
- int_p_cs_precedes int8
- int_p_sep_by_space int8
- int_n_cs_precedes int8
- int_n_sep_by_space int8
- int_p_sign_posn int8
- int_n_sign_posn int8
- _ [2]byte
-} /* locale.h:24:1 */
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -1988,7 +2064,7 @@ type lconv = struct {
type __locale_map = struct {
__map uintptr
map_size size_t
- name [24]int8
+ name [24]uint8
next uintptr
} /* alltypes.h:351:9 */
@@ -2002,9 +2078,9 @@ type tls_module = struct {
} /* libc.h:14:1 */
type __libc = struct {
- can_do_threads int8
- threaded int8
- secure int8
+ can_do_threads uint8
+ threaded uint8
+ secure uint8
need_locks int8
threads_minus_1 int32
auxv uintptr
@@ -2131,7 +2207,7 @@ type sigevent = struct {
sigev_notify int32
sigev_notify_function uintptr
sigev_notify_attributes uintptr
- __pad [32]int8
+ __pad [32]uint8
} /* time.h:107:1 */
type __ptcb = struct {
@@ -2233,7 +2309,7 @@ type siginfo_t = struct {
_ [4]byte
__si_fields struct {
_ [0]uint64
- __pad [112]int8
+ __pad [112]uint8
}
} /* signal.h:145:3 */
@@ -2267,8 +2343,8 @@ func a_barrier(tls *TLS) { /* atomic_arch.h:18:20: */
func a_cas(tls *TLS, p uintptr, t int32, s int32) int32 { /* atomic_arch.h:24:19: */
var old int32
- for ok := true; ok; ok = !(a_sc(tls, AtomicLoadUintptr(&p), s) != 0) {
- old = a_ll(tls, AtomicLoadUintptr(&p))
+ for ok := true; ok; ok = !(a_sc(tls, p, s) != 0) {
+ old = a_ll(tls, p)
if old != t {
a_barrier(tls)
break
@@ -2297,8 +2373,8 @@ func a_ctz_64(tls *TLS, x uint64_t) int32 { /* atomic_arch.h:68:19: */
func a_swap(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:33:19: */
var old int32
- for ok := true; ok; ok = !(a_sc(tls, AtomicLoadUintptr(&p), v) != 0) {
- old = a_ll(tls, AtomicLoadUintptr(&p))
+ for ok := true; ok; ok = !(a_sc(tls, p, v) != 0) {
+ old = a_ll(tls, p)
}
return old
@@ -2307,8 +2383,8 @@ func a_swap(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:33:19: */
func a_fetch_add(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:46:19: */
var old int32
- for ok := true; ok; ok = !(a_sc(tls, AtomicLoadUintptr(&p), (int32(uint32(old)+uint32(v)))) != 0) {
- old = a_ll(tls, AtomicLoadUintptr(&p))
+ for ok := true; ok; ok = !(a_sc(tls, p, (int32(uint32(old)+uint32(v)))) != 0) {
+ old = a_ll(tls, p)
}
return old
@@ -2317,8 +2393,8 @@ func a_fetch_add(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:46:19: */
func a_fetch_and(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:59:19: */
var old int32
- for ok := true; ok; ok = !(a_sc(tls, AtomicLoadUintptr(&p), (old&v)) != 0) {
- old = a_ll(tls, AtomicLoadUintptr(&p))
+ for ok := true; ok; ok = !(a_sc(tls, p, (old&v)) != 0) {
+ old = a_ll(tls, p)
}
return old
@@ -2327,31 +2403,34 @@ func a_fetch_and(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:59:19: */
func a_fetch_or(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:72:19: */
var old int32
- for ok := true; ok; ok = !(a_sc(tls, AtomicLoadUintptr(&p), (old|v)) != 0) {
- old = a_ll(tls, AtomicLoadUintptr(&p))
+ for ok := true; ok; ok = !(a_sc(tls, p, (old|v)) != 0) {
+ old = a_ll(tls, p)
}
return old
}
func a_and(tls *TLS, p uintptr, v int32) { /* atomic.h:151:20: */
- a_fetch_and(tls, AtomicLoadUintptr(&p), v)
+ a_fetch_and(tls, p, v)
}
func a_or(tls *TLS, p uintptr, v int32) { /* atomic.h:159:20: */
- a_fetch_or(tls, AtomicLoadUintptr(&p), v)
+ a_fetch_or(tls, p, v)
}
func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic.h:220:20: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = struct{ v uint64_t }{v: v}
+ *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = func() (r struct{ v uint64_t }) {
+ *(*uint64_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = v
+ return r
+ }()
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 {
- a_or(tls, AtomicLoadUintptr(&p), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
+ a_or(tls, p, int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
}
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)) != 0 {
- a_or(tls, (AtomicLoadUintptr(&p) + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
+ a_or(tls, (p + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
}
}
@@ -2359,9 +2438,9 @@ func a_ctz_32(tls *TLS, x uint32_t) int32 { /* atomic.h:256:19: */
return int32(_sdebruijn328[(((x & -x) * uint32_t(0x076be629)) >> 27)])
}
-var _sdebruijn328 = [32]int8{
- int8(0), int8(1), int8(23), int8(2), int8(29), int8(24), int8(19), int8(3), int8(30), int8(27), int8(25), int8(11), int8(20), int8(8), int8(4), int8(13),
- int8(31), int8(22), int8(28), int8(18), int8(26), int8(10), int8(7), int8(12), int8(21), int8(17), int8(9), int8(6), int8(16), int8(5), int8(15), int8(14),
+var _sdebruijn328 = [32]uint8{
+ uint8(0), uint8(1), uint8(23), uint8(2), uint8(29), uint8(24), uint8(19), uint8(3), uint8(30), uint8(27), uint8(25), uint8(11), uint8(20), uint8(8), uint8(4), uint8(13),
+ uint8(31), uint8(22), uint8(28), uint8(18), uint8(26), uint8(10), uint8(7), uint8(12), uint8(21), uint8(17), uint8(9), uint8(6), uint8(16), uint8(5), uint8(15), uint8(14),
} /* atomic.h:261:20 */
type __timer = struct {
@@ -2383,14 +2462,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1
if cnt < 0 {
cnt = 0x7fffffff
}
- _ = (Bool32((X__syscall3(tls, int64(98), int64(AtomicLoadUintptr(&addr)), (int64(1|priv)), int64(cnt)) != int64(-38)) || (X__syscall3(tls, int64(98), int64(AtomicLoadUintptr(&addr)), int64(1), int64(cnt)) != 0)))
+ _ = (Bool32((X__syscall3(tls, int64(98), int64(addr), (int64(1|priv)), int64(cnt)) != int64(-38)) || (X__syscall3(tls, int64(98), int64(addr), int64(1), int64(cnt)) != 0)))
}
func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */
if priv != 0 {
priv = 128
}
- _ = (Bool32((X__syscall4(tls, int64(98), int64(AtomicLoadUintptr(&addr)), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (X__syscall4(tls, int64(98), int64(AtomicLoadUintptr(&addr)), int64(0), int64(val), int64(0)) != 0)))
+ _ = (Bool32((X__syscall4(tls, int64(98), int64(addr), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (X__syscall4(tls, int64(98), int64(addr), int64(0), int64(val), int64(0)) != 0)))
}
var X__fsmu8 = [51]uint32_t{
@@ -3558,12 +3637,12 @@ type linger = struct {
type sockaddr = struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
} /* socket.h:367:1 */
type sockaddr_storage = struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
} /* socket.h:372:1 */
@@ -3610,7 +3689,7 @@ type ipv6_mreq = struct {
type ip_opts = struct {
ip_dst struct{ s_addr in_addr_t }
- ip_opts [40]int8
+ ip_opts [40]uint8
} /* in.h:229:1 */
type ip_mreq = struct {
@@ -3643,7 +3722,7 @@ type group_req = struct {
_ [4]byte
gr_group struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
} /* in.h:275:1 */
@@ -3653,12 +3732,12 @@ type group_source_req = struct {
_ [4]byte
gsr_group struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
gsr_source struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
} /* in.h:280:1 */
@@ -3668,14 +3747,14 @@ type group_filter = struct {
_ [4]byte
gf_group struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
gf_fmode uint32_t
gf_numsrc uint32_t
gf_slist [1]struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
} /* in.h:286:1 */
@@ -3851,7 +3930,7 @@ func Xgetaddrinfo(tls *TLS, host uintptr, serv uintptr, hint uintptr, res uintpt
// var addrs [48]address at bp+8, 1344
- // var canon [256]int8 at bp+1352, 256
+ // var canon [256]uint8 at bp+1352, 256
var outcanon uintptr
var nservs int32
@@ -4194,7 +4273,7 @@ func Xgethostbyname2_r(tls *TLS, name uintptr, af int32, h uintptr, buf uintptr,
// var addrs [48]address at bp, 1344
- // var canon [256]int8 at bp+1344, 256
+ // var canon [256]uint8 at bp+1344, 256
var i int32
var cnt int32
@@ -4292,12 +4371,12 @@ type if_nameindex = struct {
type ifaddr = struct {
ifa_addr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
ifa_ifu struct {
ifu_broadaddr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
}
ifa_ifp uintptr
@@ -4315,12 +4394,12 @@ type ifmap = struct {
} /* if.h:64:1 */
type ifreq = struct {
- ifr_ifrn struct{ ifrn_name [16]int8 }
+ ifr_ifrn struct{ ifrn_name [16]uint8 }
ifr_ifru struct {
_ [0]uint64
ifru_addr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
_ [8]byte
}
@@ -4355,7 +4434,7 @@ type _ns_flagdata = struct {
} /* nameser.h:48:1 */
type __ns_rr = struct {
- name [1025]int8
+ name [1025]uint8
_ [1]byte
__type uint16_t
rr_class uint16_t
@@ -4377,8 +4456,8 @@ type ns_rcode = uint32 /* nameser.h:115:3 */
type ns_update_operation = uint32 /* nameser.h:121:3 */
type ns_tsig_key1 = struct {
- name [1025]int8
- alg [1025]int8
+ name [1025]uint8
+ alg [1025]uint8
_ [6]byte
data uintptr
len int32
@@ -4429,7 +4508,7 @@ type __res_state = struct {
id uint16
_ [2]byte
dnsrch [7]uintptr
- defdname [256]int8
+ defdname [256]uint8
pfcode uint64
ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
_ [4]byte
@@ -4445,7 +4524,7 @@ type __res_state = struct {
_ [4]byte
_u struct {
_ [0]uint64
- pad [52]int8
+ pad [52]uint8
_ [4]byte
}
} /* resolv.h:26:9 */
@@ -4462,9 +4541,9 @@ type res_sym = struct {
func itoa(tls *TLS, p uintptr, x uint32) uintptr { /* getnameinfo.c:18:13: */
p += (uintptr(uint64(3) * uint64(unsafe.Sizeof(int32(0)))))
- *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = uint8(0)
for ok := true; ok; ok = x != 0 {
- *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (int8(uint32('0') + (x % uint32(10))))
+ *(*uint8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (uint8(uint32('0') + (x % uint32(10))))
x = x / (uint32(10))
}
return p
@@ -4474,28 +4553,28 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */
bp := tls.Alloc(32)
defer tls.Free(32)
- Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */
+ Xsprintf(tls, s, ts+25, /* "%d.%d.%d.%d.in-a..." */
VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip)))))
}
func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */
var i int32
for i = 15; i >= 0; i-- {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = uint8('.')
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = uint8('.')
}
- Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */)
+ Xstrcpy(tls, s, ts+50 /* "ip6.arpa" */)
}
-var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
+var _sxdigits = *(*[17]uint8)(unsafe.Pointer(ts + 59 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */
bp := tls.Alloc(556)
defer tls.Free(556)
- // var line [512]int8 at bp+16, 512
+ // var line [512]uint8 at bp+16, 512
var p uintptr
var z uintptr
@@ -4506,31 +4585,31 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
// var iplit address at bp+528, 28
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
return
}
if family == 2 {
Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint64(4))
- Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, bp /* &atmp[0] */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
a = bp /* &atmp[0] */
}
- for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 {
+ for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]uint8{})), f) != 0 {
if AssignUintptr(&p, Xstrchr(tls, bp+16 /* &line[0] */, '#')) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
- *(*int8)(unsafe.Pointer(p)) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8('\n')
+ *(*uint8)(unsafe.Pointer(p)) = uint8(0)
}
- for p = bp + 16; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for p = bp + 16; /* &line[0] */ (*(*uint8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8(0)
if X__lookup_ipliteral(tls, bp+528 /* &iplit */, bp+16 /* &line[0] */, 0) <= 0 {
continue
}
if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 {
Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint64(4))
- Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
(*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0)
}
@@ -4538,11 +4617,11 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
continue
}
- for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for ; (*(*uint8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ for z = p; (*(*uint8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(z)))) != 0); z++ {
}
- *(*int8)(unsafe.Pointer(z)) = int8(0)
+ *(*uint8)(unsafe.Pointer(z)) = uint8(0)
if ((int64(z) - int64(p)) / 1) < int64(256) {
Xmemcpy(tls, buf, p, (uint64(((int64(z) - int64(p)) / 1) + int64(1))))
break
@@ -4582,11 +4661,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
bp := tls.Alloc(347)
defer tls.Free(347)
- // var ptr [78]int8 at bp, 78
+ // var ptr [78]uint8 at bp, 78
- // var buf [256]int8 at bp+78, 256
+ // var buf [256]uint8 at bp+78, 256
- // var num [13]int8 at bp+334, 13
+ // var num [13]uint8 at bp+334, 13
var af int32 = int32((*sockaddr)(unsafe.Pointer(sa1)).sa_family)
var a uintptr
@@ -4606,7 +4685,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in6{}))) {
return -6
}
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
mkptr6(tls, bp /* &ptr[0] */, a)
} else {
mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
@@ -4618,11 +4697,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
}
if (node != 0) && (nodelen != 0) {
- *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = uint8(0)
if !((flags & 0x01) != 0) {
reverse_hosts(tls, bp+78 /* &buf[0] */, a, scopeid, af)
}
- if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
Xabort(tls) //TODO-
// unsigned char query[18+PTR_MAX], reply[512];
// int qlen = __res_mkquery(0, ptr, 1, RR_PTR,
@@ -4633,11 +4712,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
// if (rlen > 0)
// __dns_parse(reply, rlen, dns_parse_callback, buf);
}
- if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
if (flags & 0x08) != 0 {
return -2
}
- Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]int8{})))
+ Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]uint8{})))
if scopeid != 0 {
Xabort(tls) //TODO-
// char *p = 0, tmp[IF_NAMESIZE+1];
@@ -4660,11 +4739,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (serv != 0) && (servlen != 0) {
var p uintptr = bp + 78 /* buf */
var port int32 = int32(Xntohs(tls, (*sockaddr_in)(unsafe.Pointer(sa1)).sin_port))
- *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = uint8(0)
if !((flags & 0x02) != 0) {
reverse_services(tls, bp+78 /* &buf[0] */, port, (flags & 0x10))
}
- if !(int32(*(*int8)(unsafe.Pointer(p))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) != 0) {
p = itoa(tls, bp+334 /* &num[0] */, uint32(port))
}
if Xstrlen(tls, p) >= size_t(servlen) {
@@ -4695,15 +4774,15 @@ func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5
for i = 0; i < 4; i++ {
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)) = Xstrtoul(tls, s, bp+32 /* &z */, 0)
- if ((*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) == s) || ((*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)))) != 0) && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != '.'))) || !(func() int32 {
+ if ((*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) == s) || ((*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)))) != 0) && (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != '.'))) || !(func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(s))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
}() != 0) {
return 0
}
- if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != 0) {
break
}
s = (*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) + uintptr(1))
@@ -4742,25 +4821,25 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
var j int32
var max int32
var best int32
- // var buf [100]int8 at bp+176, 100
+ // var buf [100]uint8 at bp+176, 100
switch af {
case 2:
- if socklen_t(Xsnprintf(tls, s, uint64(l), ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
+ if socklen_t(Xsnprintf(tls, s, uint64(l), ts+103 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
return s
}
break
case 10:
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
- Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
- ts+113, /* "%x:%x:%x:%x:%x:%..." */
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]uint8{})),
+ ts+115, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15))))))
} else {
- Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
- ts+137, /* "%x:%x:%x:%x:%x:%..." */
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]uint8{})),
+ ts+139, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
@@ -4769,18 +4848,18 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
// Replace longest /(^0|:)[:0]{2,}/ with "::"
i = AssignInt32(&best, 0)
max = 2
- for ; *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
- if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
+ for ; *(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
+ if (i != 0) && (int32(*(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
continue
}
- j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */))
+ j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+169 /* ":0" */))
if j > max {
best = i
max = j
}
}
if max > 3 {
- *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrInt8(bp+176 /* &buf */ +uintptr((best+1)), int8(':'))
+ *(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrUint8(bp+176 /* &buf */ +uintptr((best+1)), uint8(':'))
Xmemmove(tls, ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(2)), ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(max)), (uint64(((i - best) - max) + 1)))
}
if Xstrlen(tls, bp+176 /* &buf[0] */) < size_t(l) {
@@ -4825,20 +4904,20 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
for i = 0; i < 4; i++ {
for v = AssignInt32(&j, 0); (j < 3) && (func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
}() != 0); j++ {
- v = (((10 * v) + int32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - '0')
+ v = (((10 * v) + int32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))) - '0')
}
- if ((j == 0) || ((j > 1) && (int32(*(*int8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
+ if ((j == 0) || ((j > 1) && (int32(*(*uint8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
return 0
}
*(*uint8)(unsafe.Pointer(a + uintptr(i))) = uint8(v)
- if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
+ if (int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
return 1
}
- if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
+ if int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
return 0
}
s += (uintptr(j + 1))
@@ -4849,15 +4928,15 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
return -1
}
- if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
+ if (int32(*(*uint8)(unsafe.Pointer(s))) == ':') && (int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
return 0
}
for i = 0; ; i++ {
- if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
+ if (int32(*(*uint8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
brk = i
*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(0)
- if !(int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
break
}
if i == 7 {
@@ -4865,21 +4944,21 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
}
continue
}
- for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
+ for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
v = ((16 * v) + d)
}
if j == 0 {
return 0
}
*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(v)
- if !(int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
+ if !(int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
break
}
if i == 7 {
return 0
}
- if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
- if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
+ if int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
+ if (int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
return 0
}
need_v4 = 1
@@ -4921,7 +5000,7 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
(*address)(unsafe.Pointer(buf)).scopeid = uint32(0)
return 1
}
- // var tmp [64]int8 at bp+4, 64
+ // var tmp [64]uint8 at bp+4, 64
var p uintptr = Xstrchr(tls, name, '%')
// var z uintptr at bp+88, 8
@@ -4929,7 +5008,7 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
var scopeid uint64 = uint64(0)
if (p != 0) && (((int64(p) - int64(name)) / 1) < int64(64)) {
Xmemcpy(tls, bp+4 /* &tmp[0] */, name, (uint64((int64(p) - int64(name)) / 1)))
- *(*int8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int64(p) - int64(name)) / 1)))) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int64(p) - int64(name)) / 1)))) = uint8(0)
name = bp + 4 /* &tmp[0] */
}
@@ -4945,15 +5024,15 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
if p != 0 {
if func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
}() != 0 {
scopeid = Xstrtoull(tls, p, bp+88 /* &z */, 10)
} else {
*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)) = (p - uintptr(1))
}
- if *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)))) != 0 {
+ if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)))) != 0 {
Xabort(tls) //TODO-
// if (!IN6_IS_ADDR_LINKLOCAL(&a6) &&
// !IN6_IS_ADDR_MC_LINKLOCAL(&a6))
@@ -5020,7 +5099,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
bp := tls.Alloc(512)
defer tls.Free(512)
- // var line [512]int8 at bp, 512
+ // var line [512]uint8 at bp, 512
var l size_t = Xstrlen(tls, name)
var cnt int32 = 0
@@ -5030,7 +5109,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
var _f FILE
_ = _f
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) {
case 2:
@@ -5044,24 +5123,24 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
return -11
}
}
- for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0) && (cnt < 48) {
+ for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]uint8{})), f) != 0) && (cnt < 48) {
var p uintptr
var z uintptr
if AssignUintptr(&p, Xstrchr(tls, bp /* &line[0] */, '#')) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
- *(*int8)(unsafe.Pointer(p)) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8('\n')
+ *(*uint8)(unsafe.Pointer(p)) = uint8(0)
}
- for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
+ for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
}
if !(p != 0) {
continue
}
// Isolate IP address to parse
- for p = bp; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for p = bp; /* &line[0] */ (*(*uint8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8(0)
switch name_from_numeric(tls, (buf + uintptr(cnt)*28), bp /* &line[0] */, family) {
case 1:
cnt++
@@ -5074,11 +5153,11 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
}
// Extract first name as canonical name
- for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for ; (*(*uint8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ for z = p; (*(*uint8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(z)))) != 0); z++ {
}
- *(*int8)(unsafe.Pointer(z)) = int8(0)
+ *(*uint8)(unsafe.Pointer(z)) = uint8(0)
if is_valid_hostname(tls, p) != 0 {
Xmemcpy(tls, canon, p, (uint64(((int64(z) - int64(p)) / 1) + int64(1))))
}
@@ -5153,13 +5232,13 @@ type policy = struct {
} /* lookup_name.c:237:14 */
var defpolicy = [6]policy{
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
// Last rule must match all addresses to stop loop.
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
} /* lookup_name.c:241:3 */
func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */
@@ -5223,7 +5302,7 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
var j int32
_ = j
- *(*int8)(unsafe.Pointer(canon)) = int8(0)
+ *(*uint8)(unsafe.Pointer(canon)) = uint8(0)
if name != 0 {
// reject empty name and check len so it fits into temp bufs
var l size_t = Xstrnlen(tls, name, uint64(255))
@@ -5327,10 +5406,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
*(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
} else {
Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
da = bp + 56 /* &da4 */
@@ -5384,7 +5463,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
bp := tls.Alloc(8)
defer tls.Free(8)
- var line [128]int8
+ var line [128]uint8
_ = line
var cnt int32 = 0
var p uintptr
@@ -5428,12 +5507,12 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
}
if name != 0 {
- if !(int32(*(*int8)(unsafe.Pointer(name))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(name))) != 0) {
return -8
}
port = Xstrtoul(tls, name, bp /* &z */, 10)
}
- if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
if port > uint64(65535) {
return -8
}
@@ -5544,7 +5623,9 @@ func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 72 /* &.write */))))(tls, f, uintptr(0), uint64(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -5572,7 +5653,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 64 /* &.read */))))(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
@@ -5596,7 +5679,7 @@ func store_int(tls *TLS, dest uintptr, size int32, i uint64) { /* vfscanf.c:22:1
}
switch size {
case -2:
- *(*int8)(unsafe.Pointer(dest)) = int8(i)
+ *(*uint8)(unsafe.Pointer(dest)) = uint8(i)
break
case -1:
*(*int16)(unsafe.Pointer(dest)) = int16(i)
@@ -6188,7 +6271,7 @@ __110:
}())) + 1)))) != 0) {
goto __111
}
- switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*int8)(unsafe.Pointer(bp + 264)) = int8(c); return bp + 264 }(), uint64(1), bp+268 /* &st */) {
+ switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*uint8)(unsafe.Pointer(bp + 264)) = uint8(c); return bp + 264 }(), uint64(1), bp+268 /* &st */) {
case Uint64FromInt32(-1):
goto __113
case Uint64FromInt32(-2):
@@ -6251,7 +6334,7 @@ __122:
}())) + 1)))) != 0) {
goto __123
}
- *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = int8(c)
+ *(*uint8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = uint8(c)
if !(i == k) {
goto __124
}
@@ -6283,7 +6366,7 @@ __128:
}())) + 1)))) != 0) {
goto __129
}
- *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = int8(c)
+ *(*uint8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = uint8(c)
goto __128
__129:
;
@@ -6349,7 +6432,7 @@ __138:
if !(s != 0) {
goto __139
}
- *(*int8)(unsafe.Pointer(s + uintptr(i))) = int8(0)
+ *(*uint8)(unsafe.Pointer(s + uintptr(i))) = uint8(0)
__139:
;
__137:
@@ -6629,7 +6712,7 @@ __1:
goto __2
}
__3:
- if !((((uintptr_t(s) & (uint64(unsafe.Sizeof(size_t(0))) - uint64(1))) != 0) && (n != 0)) && (AssignPtrInt8(d, *(*int8)(unsafe.Pointer(s))) != 0)) {
+ if !((((uintptr_t(s) & (uint64(unsafe.Sizeof(size_t(0))) - uint64(1))) != 0) && (n != 0)) && (AssignPtrUint8(d, *(*uint8)(unsafe.Pointer(s))) != 0)) {
goto __5
}
goto __4
@@ -6641,7 +6724,7 @@ __4:
goto __5
__5:
;
- if !((n != 0) && (*(*int8)(unsafe.Pointer(s)) != 0)) {
+ if !((n != 0) && (*(*uint8)(unsafe.Pointer(s)) != 0)) {
goto __6
}
wd = d
@@ -6667,7 +6750,7 @@ __6:
__2:
;
__10:
- if !((n != 0) && (AssignPtrInt8(d, *(*int8)(unsafe.Pointer(s))) != 0)) {
+ if !((n != 0) && (AssignPtrUint8(d, *(*uint8)(unsafe.Pointer(s))) != 0)) {
goto __12
}
goto __11
@@ -6679,7 +6762,7 @@ __11:
goto __12
__12:
;
- *(*int8)(unsafe.Pointer(d)) = int8(0)
+ *(*uint8)(unsafe.Pointer(d)) = uint8(0)
finish:
return ((size_t((int64(d) - int64(d0)) / 1)) + Xstrlen(tls, s))
}
@@ -6713,11 +6796,11 @@ func X__strncasecmp_l(tls *TLS, l uintptr, r uintptr, n size_t, loc locale_t) in
func Xstrncat(tls *TLS, d uintptr, s uintptr, n size_t) uintptr { /* strncat.c:3:6: */
var a uintptr = d
d += uintptr(Xstrlen(tls, d))
- for (n != 0) && (*(*int8)(unsafe.Pointer(s)) != 0) {
+ for (n != 0) && (*(*uint8)(unsafe.Pointer(s)) != 0) {
n--
- *(*int8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1)))
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1)))
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = uint8(0)
return a
}
@@ -6736,18 +6819,18 @@ func Xstrspn(tls *TLS, s uintptr, c uintptr) size_t { /* strspn.c:6:8: */
var a uintptr = s
*(*[4]size_t)(unsafe.Pointer(bp /* byteset */)) = [4]size_t{0: uint64(0)}
- if !(int32(*(*int8)(unsafe.Pointer(c))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(c))) != 0) {
return uint64(0)
}
- if !(int32(*(*int8)(unsafe.Pointer(c + 1))) != 0) {
- for ; int32(*(*int8)(unsafe.Pointer(s))) == int32(*(*int8)(unsafe.Pointer(c))); s++ {
+ if !(int32(*(*uint8)(unsafe.Pointer(c + 1))) != 0) {
+ for ; int32(*(*uint8)(unsafe.Pointer(s))) == int32(*(*uint8)(unsafe.Pointer(c))); s++ {
}
return (size_t((int64(s) - int64(a)) / 1))
}
- for ; (*(*int8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint64(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8, (size_t(uint64(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
+ for ; (*(*uint8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint64(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8, (size_t(uint64(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
}
- for ; (*(*int8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8)) & (size_t(uint64(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint64(8) * uint64(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
+ for ; (*(*uint8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8)) & (size_t(uint64(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint64(8) * uint64(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
}
return (size_t((int64(s) - int64(a)) / 1))
}
@@ -6757,12 +6840,12 @@ func Xstrtok(tls *TLS, s uintptr, sep uintptr) uintptr { /* strtok.c:3:6: */
return uintptr(0)
}
s += uintptr(Xstrspn(tls, s, sep))
- if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
return AssignPtrUintptr(uintptr(unsafe.Pointer(&_sp)), uintptr(0))
}
_sp = (s + uintptr(Xstrcspn(tls, s, sep)))
- if *(*int8)(unsafe.Pointer(_sp)) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&_sp, 1))) = int8(0)
+ if *(*uint8)(unsafe.Pointer(_sp)) != 0 {
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&_sp, 1))) = uint8(0)
} else {
_sp = uintptr(0)
}
@@ -6917,5 +7000,9 @@ func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pth
return 0
}
-var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+func init() {
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&ptable)) + 0)) = (uintptr(unsafe.Pointer(&table)) + uintptr(128)*2) // __ctype_b_loc.c:36:45:
+}
+
+var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/libc/musl_linux_s390x.go b/vendor/modernc.org/libc/musl_linux_s390x.go
index 48621b3bb..64570673f 100644
--- a/vendor/modernc.org/libc/musl_linux_s390x.go
+++ b/vendor/modernc.org/libc/musl_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_s390x.go -pkgname libc -static-locals-prefix _s -Iarch/s390x -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_linux_s390x.go -pkgname libc -static-locals-prefix _s -Iarch/s390x -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/__ctype_b_loc.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isupper.c src/ctype/isxdigit.c src/dirent/closedir.c src/dirent/opendir.c src/dirent/readdir.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/locale/localeconv.c src/math/__fpclassify.c src/math/__fpclassifyf.c src/math/__fpclassifyl.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/nanf.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/multibyte/internal.c src/multibyte/mbrtowc.c src/multibyte/mbsinit.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/gethostbyname_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/prng/rand_r.c src/stdio/__lockfile.c src/stdio/__toread.c src/stdio/__uflow.c src/stdio/sscanf.c src/stdio/vfscanf.c src/stdio/vsscanf.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strlcat.c src/string/strlcpy.c src/string/strncasecmp.c src/string/strncat.c src/string/strnlen.c src/string/strspn.c src/string/strtok.c src/thread/pthread_attr_get.c src/thread/pthread_attr_setdetachstate.c src/thread/pthread_mutex_lock.c src/thread/pthread_mutexattr_destroy.c src/thread/pthread_mutexattr_init.c src/thread/pthread_mutexattr_settype.c', DO NOT EDIT.
package libc
@@ -363,6 +363,49 @@ type size_t = uint64 /* <builtin>:9:23 */
type wchar_t = int32 /* <builtin>:15:24 */
+type uint16_t = uint16 /* alltypes.h:113:25 */
+
+type uint32_t = uint32 /* alltypes.h:118:25 */
+
+type uint64_t = uint64 /* alltypes.h:123:25 */
+
+func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
+ return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
+}
+
+var table = [384]uint16{
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200),
+ uint16(0x200), uint16(0x320), uint16(0x220), uint16(0x220), uint16(0x220), uint16(0x220), uint16(0x200), uint16(0x200),
+ uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200),
+ uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200), uint16(0x200),
+ uint16(0x160), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0),
+ uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0),
+ uint16(0x8d8), uint16(0x8d8), uint16(0x8d8), uint16(0x8d8), uint16(0x8d8), uint16(0x8d8), uint16(0x8d8), uint16(0x8d8),
+ uint16(0x8d8), uint16(0x8d8), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0),
+ uint16(0x4c0), uint16(0x8d5), uint16(0x8d5), uint16(0x8d5), uint16(0x8d5), uint16(0x8d5), uint16(0x8d5), uint16(0x8c5),
+ uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5),
+ uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x8c5),
+ uint16(0x8c5), uint16(0x8c5), uint16(0x8c5), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0),
+ uint16(0x4c0), uint16(0x8d6), uint16(0x8d6), uint16(0x8d6), uint16(0x8d6), uint16(0x8d6), uint16(0x8d6), uint16(0x8c6),
+ uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6),
+ uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x8c6),
+ uint16(0x8c6), uint16(0x8c6), uint16(0x8c6), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x4c0), uint16(0x200),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+ uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0),
+} /* __ctype_b_loc.c:9:29 */
+
+var ptable uintptr = 0 /* __ctype_b_loc.c:36:29 */
+
+func X__ctype_b_loc(tls *TLS) uintptr { /* __ctype_b_loc.c:38:22: */
+ return uintptr(unsafe.Pointer(&ptable))
+}
+
func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
}
@@ -451,7 +494,7 @@ type dirent = struct {
d_off off_t
d_reclen uint16
d_type uint8
- d_name [256]int8
+ d_name [256]uint8
_ [5]byte
} /* dirent.h:5:1 */
@@ -461,7 +504,7 @@ type __dirstream = struct {
buf_pos int32
buf_end int32
lock [1]int32
- buf [2048]int8
+ buf [2048]uint8
} /* dirent.h:20:9 */
type DIR = __dirstream /* dirent.h:20:28 */
@@ -547,13 +590,13 @@ type max_align_t = struct {
__ld float64
} /* alltypes.h:28:54 */
-type dirstream_buf_alignment_check = [1]int8 /* readdir.c:7:14 */
+type dirstream_buf_alignment_check = [1]uint8 /* readdir.c:7:14 */
func Xreaddir(tls *TLS, dir uintptr) uintptr { /* readdir.c:10:15: */
var de uintptr
if (*DIR)(unsafe.Pointer(dir)).buf_pos >= (*DIR)(unsafe.Pointer(dir)).buf_end {
- var len int32 = int32(__syscall3(tls, int64(220), int64((*DIR)(unsafe.Pointer(dir)).fd), int64(dir+24 /* &.buf */), int64(unsafe.Sizeof([2048]int8{}))))
+ var len int32 = int32(__syscall3(tls, int64(220), int64((*DIR)(unsafe.Pointer(dir)).fd), int64(dir+24 /* &.buf */), int64(unsafe.Sizeof([2048]uint8{}))))
if len <= 0 {
if (len < 0) && (len != -2) {
(*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = -len
@@ -583,12 +626,6 @@ type intmax_t = int64 /* alltypes.h:103:25 */
type uint8_t = uint8 /* alltypes.h:108:25 */
-type uint16_t = uint16 /* alltypes.h:113:25 */
-
-type uint32_t = uint32 /* alltypes.h:118:25 */
-
-type uint64_t = uint64 /* alltypes.h:123:25 */
-
type uintmax_t = uint64 /* alltypes.h:133:25 */
type int_fast8_t = int8_t /* stdint.h:22:16 */
@@ -654,7 +691,7 @@ type va_list = uintptr /* alltypes.h:313:27 */
type _G_fpos64_t = struct {
_ [0]uint64
- __opaque [16]int8
+ __opaque [16]uint8
} /* stdio.h:54:9 */
type fpos_t = _G_fpos64_t /* stdio.h:58:3 */
@@ -1360,7 +1397,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}()
}
- for i = uint64(0); (i < uint64(8)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
+ for i = uint64(0); (i < uint64(8)) && ((c | 32) == int32(*(*uint8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
if i < uint64(7) {
c = func() int32 {
if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
@@ -1388,7 +1425,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
return (float64(float32(sign) * X__builtin_inff(tls)))
}
if !(i != 0) {
- for i = uint64(0); (i < uint64(3)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
+ for i = uint64(0); (i < uint64(3)) && ((c | 32) == int32(*(*uint8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
if i < uint64(2) {
c = func() int32 {
if (*FILE)(unsafe.Pointer((f))).rpos != (*FILE)(unsafe.Pointer((f))).shend {
@@ -1476,7 +1513,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* float
}
// Lookup table for digit values. -1==255>=36 -> invalid
-var table = [257]uint8{Uint8FromInt32(-1),
+var table1 = [257]uint8{Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
@@ -1502,7 +1539,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64
var x uint32
var y uint64
var bs int32
- val = (uintptr(unsafe.Pointer(&table)) + uintptr(1))
+ val = (uintptr(unsafe.Pointer(&table1)) + uintptr(1))
neg = 0
if !((base > uint32(36)) || (base == uint32(1))) {
goto __1
@@ -1658,7 +1695,7 @@ __15:
if !(!((base & (base - uint32(1))) != 0)) {
goto __24
}
- bs = int32(*(*int8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
+ bs = int32(*(*uint8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
x = uint32(0)
__26:
if !((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (x <= (0xffffffff / uint32(32)))) {
@@ -1833,11 +1870,57 @@ func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */
return c
}
+type lconv = struct {
+ decimal_point uintptr
+ thousands_sep uintptr
+ grouping uintptr
+ int_curr_symbol uintptr
+ currency_symbol uintptr
+ mon_decimal_point uintptr
+ mon_thousands_sep uintptr
+ mon_grouping uintptr
+ positive_sign uintptr
+ negative_sign uintptr
+ int_frac_digits uint8
+ frac_digits uint8
+ p_cs_precedes uint8
+ p_sep_by_space uint8
+ n_cs_precedes uint8
+ n_sep_by_space uint8
+ p_sign_posn uint8
+ n_sign_posn uint8
+ int_p_cs_precedes uint8
+ int_p_sep_by_space uint8
+ int_n_cs_precedes uint8
+ int_n_sep_by_space uint8
+ int_p_sign_posn uint8
+ int_n_sign_posn uint8
+ _ [2]byte
+} /* locale.h:24:1 */
+
+// Support signed or unsigned plain-char
+
+// Implementation choices...
+
+// Arbitrary numbers...
+
+// POSIX/SUS requirements follow. These numbers come directly
+// from SUS and have nothing to do with the host system.
+
+var posix_lconv = lconv{decimal_point: ts + 23 /* "." */, thousands_sep: ts + 13 /* "" */, grouping: ts + 13 /* "" */, int_curr_symbol: ts + 13 /* "" */, currency_symbol: ts + 13 /* "" */, mon_decimal_point: ts + 13 /* "" */, mon_thousands_sep: ts + 13 /* "" */, mon_grouping: ts + 13 /* "" */, positive_sign: ts + 13 /* "" */, negative_sign: ts + 13 /* "" */, int_frac_digits: uint8(255), frac_digits: uint8(255), p_cs_precedes: uint8(255), p_sep_by_space: uint8(255), n_cs_precedes: uint8(255), n_sep_by_space: uint8(255), p_sign_posn: uint8(255), n_sign_posn: uint8(255), int_p_cs_precedes: uint8(255), int_p_sep_by_space: uint8(255), int_n_cs_precedes: uint8(255), int_n_sep_by_space: uint8(255), int_p_sign_posn: uint8(255), int_n_sign_posn: uint8(255)} /* localeconv.c:4:27 */
+
+func Xlocaleconv(tls *TLS) uintptr { /* localeconv.c:31:14: */
+ return uintptr(unsafe.Pointer(&posix_lconv))
+}
+
func X__fpclassify(tls *TLS, x float64) int32 { /* __fpclassify.c:4:5: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = struct{ f float64 }{f: x}
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
if !(e != 0) {
if (*(*uint64_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1858,7 +1941,10 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
bp := tls.Alloc(4)
defer tls.Free(4)
- *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = struct{ f float32 }{f: x}
+ *(*struct{ f float32 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float32 }) {
+ *(*float32)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
var e int32 = (int32((*(*uint32_t)(unsafe.Pointer(bp /* &u */)) >> 23) & uint32_t(0xff)))
if !(e != 0) {
if (*(*uint32_t)(unsafe.Pointer(bp /* &u */)) << 1) != 0 {
@@ -1875,10 +1961,6 @@ func X__fpclassifyf(tls *TLS, x float32) int32 { /* __fpclassifyf.c:4:5: */
return 4
}
-func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
- return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
-}
-
func X__fpclassifyl(tls *TLS, x float64) int32 { /* __fpclassifyl.c:4:5: */
return X__fpclassify(tls, x)
}
@@ -1899,6 +1981,37 @@ func Xnanf(tls *TLS, s uintptr) float32 { /* nanf.c:3:7: */
return X__builtin_nanf(tls, ts+13 /* "" */)
}
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
bp := tls.Alloc(8)
defer tls.Free(8)
@@ -1939,43 +2052,6 @@ func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */
return Xscalbn(tls, x, n)
}
-// Upper 6 state bits are a negative integer offset to bound-check next byte
-// equivalent to: ( (b-0x80) | (b+offset) ) & ~0x3f
-
-// Interval [a,b). Either a must be 80 or b must be c0, lower 3 bits clear.
-
-// Arbitrary encoding for representing code units instead of characters.
-
-// Get inline definition of MB_CUR_MAX.
-
-type lconv = struct {
- decimal_point uintptr
- thousands_sep uintptr
- grouping uintptr
- int_curr_symbol uintptr
- currency_symbol uintptr
- mon_decimal_point uintptr
- mon_thousands_sep uintptr
- mon_grouping uintptr
- positive_sign uintptr
- negative_sign uintptr
- int_frac_digits int8
- frac_digits int8
- p_cs_precedes int8
- p_sep_by_space int8
- n_cs_precedes int8
- n_sep_by_space int8
- p_sign_posn int8
- n_sign_posn int8
- int_p_cs_precedes int8
- int_p_sep_by_space int8
- int_n_cs_precedes int8
- int_n_sep_by_space int8
- int_p_sign_posn int8
- int_n_sign_posn int8
- _ [2]byte
-} /* locale.h:24:1 */
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -1988,7 +2064,7 @@ type lconv = struct {
type __locale_map = struct {
__map uintptr
map_size size_t
- name [24]int8
+ name [24]uint8
next uintptr
} /* alltypes.h:330:9 */
@@ -2002,9 +2078,9 @@ type tls_module = struct {
} /* libc.h:14:1 */
type __libc = struct {
- can_do_threads int8
- threaded int8
- secure int8
+ can_do_threads uint8
+ threaded uint8
+ secure uint8
need_locks int8
threads_minus_1 int32
auxv uintptr
@@ -2131,7 +2207,7 @@ type sigevent = struct {
sigev_notify int32
sigev_notify_function uintptr
sigev_notify_attributes uintptr
- __pad [32]int8
+ __pad [32]uint8
} /* time.h:107:1 */
type __ptcb = struct {
@@ -2198,7 +2274,7 @@ type siginfo_t = struct {
_ [4]byte
__si_fields struct {
_ [0]uint64
- __pad [112]int8
+ __pad [112]uint8
}
} /* signal.h:145:3 */
@@ -2225,54 +2301,57 @@ func a_barrier(tls *TLS) { /* atomic_arch.h:21:20: */
func a_swap(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:108:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, v) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, v) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_fetch_add(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:119:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (int32(uint32(old)+uint32(v)))) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, (int32(uint32(old)+uint32(v)))) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_fetch_and(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:130:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (old&v)) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, (old&v)) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_fetch_or(tls *TLS, p uintptr, v int32) int32 { /* atomic.h:140:19: */
var old int32
- for ok := true; ok; ok = (a_cas(tls, AtomicLoadUintptr(&p), old, (old|v)) != old) {
- old = *(*int32)(unsafe.Pointer(AtomicLoadUintptr(&p)))
+ for ok := true; ok; ok = (a_cas(tls, p, old, (old|v)) != old) {
+ old = *(*int32)(unsafe.Pointer(p))
}
return old
}
func a_and(tls *TLS, p uintptr, v int32) { /* atomic.h:151:20: */
- a_fetch_and(tls, AtomicLoadUintptr(&p), v)
+ a_fetch_and(tls, p, v)
}
func a_or(tls *TLS, p uintptr, v int32) { /* atomic.h:159:20: */
- a_fetch_or(tls, AtomicLoadUintptr(&p), v)
+ a_fetch_or(tls, p, v)
}
func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic.h:220:20: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = struct{ v uint64_t }{v: v}
+ *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = func() (r struct{ v uint64_t }) {
+ *(*uint64_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = v
+ return r
+ }()
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 {
- a_or(tls, AtomicLoadUintptr(&p), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
+ a_or(tls, p, int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
}
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)) != 0 {
- a_or(tls, (AtomicLoadUintptr(&p) + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
+ a_or(tls, (p + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
}
}
@@ -2280,9 +2359,9 @@ func a_ctz_32(tls *TLS, x uint32_t) int32 { /* atomic.h:256:19: */
return int32(_sdebruijn328[(((x & -x) * uint32_t(0x076be629)) >> 27)])
}
-var _sdebruijn328 = [32]int8{
- int8(0), int8(1), int8(23), int8(2), int8(29), int8(24), int8(19), int8(3), int8(30), int8(27), int8(25), int8(11), int8(20), int8(8), int8(4), int8(13),
- int8(31), int8(22), int8(28), int8(18), int8(26), int8(10), int8(7), int8(12), int8(21), int8(17), int8(9), int8(6), int8(16), int8(5), int8(15), int8(14),
+var _sdebruijn328 = [32]uint8{
+ uint8(0), uint8(1), uint8(23), uint8(2), uint8(29), uint8(24), uint8(19), uint8(3), uint8(30), uint8(27), uint8(25), uint8(11), uint8(20), uint8(8), uint8(4), uint8(13),
+ uint8(31), uint8(22), uint8(28), uint8(18), uint8(26), uint8(10), uint8(7), uint8(12), uint8(21), uint8(17), uint8(9), uint8(6), uint8(16), uint8(5), uint8(15), uint8(14),
} /* atomic.h:261:20 */
func a_ctz_64(tls *TLS, x uint64_t) int32 { /* atomic.h:272:19: */
@@ -2297,11 +2376,11 @@ func a_ctz_64(tls *TLS, x uint64_t) int32 { /* atomic.h:272:19: */
return int32(_sdebruijn648[(((uint64(x & -x)) * 0x022fdd63cc95386d) >> 58)])
}
-var _sdebruijn648 = [64]int8{
- int8(0), int8(1), int8(2), int8(53), int8(3), int8(7), int8(54), int8(27), int8(4), int8(38), int8(41), int8(8), int8(34), int8(55), int8(48), int8(28),
- int8(62), int8(5), int8(39), int8(46), int8(44), int8(42), int8(22), int8(9), int8(24), int8(35), int8(59), int8(56), int8(49), int8(18), int8(29), int8(11),
- int8(63), int8(52), int8(6), int8(26), int8(37), int8(40), int8(33), int8(47), int8(61), int8(45), int8(43), int8(21), int8(23), int8(58), int8(17), int8(10),
- int8(51), int8(25), int8(36), int8(32), int8(60), int8(20), int8(57), int8(16), int8(50), int8(31), int8(19), int8(15), int8(30), int8(14), int8(13), int8(12),
+var _sdebruijn648 = [64]uint8{
+ uint8(0), uint8(1), uint8(2), uint8(53), uint8(3), uint8(7), uint8(54), uint8(27), uint8(4), uint8(38), uint8(41), uint8(8), uint8(34), uint8(55), uint8(48), uint8(28),
+ uint8(62), uint8(5), uint8(39), uint8(46), uint8(44), uint8(42), uint8(22), uint8(9), uint8(24), uint8(35), uint8(59), uint8(56), uint8(49), uint8(18), uint8(29), uint8(11),
+ uint8(63), uint8(52), uint8(6), uint8(26), uint8(37), uint8(40), uint8(33), uint8(47), uint8(61), uint8(45), uint8(43), uint8(21), uint8(23), uint8(58), uint8(17), uint8(10),
+ uint8(51), uint8(25), uint8(36), uint8(32), uint8(60), uint8(20), uint8(57), uint8(16), uint8(50), uint8(31), uint8(19), uint8(15), uint8(30), uint8(14), uint8(13), uint8(12),
} /* atomic.h:274:20 */
type __timer = struct {
@@ -2323,14 +2402,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1
if cnt < 0 {
cnt = 0x7fffffff
}
- _ = (Bool32((__syscall3(tls, int64(238), int64(AtomicLoadUintptr(&addr)), (int64(1|priv)), int64(cnt)) != int64(-38)) || (__syscall3(tls, int64(238), int64(AtomicLoadUintptr(&addr)), int64(1), int64(cnt)) != 0)))
+ _ = (Bool32((__syscall3(tls, int64(238), int64(addr), (int64(1|priv)), int64(cnt)) != int64(-38)) || (__syscall3(tls, int64(238), int64(addr), int64(1), int64(cnt)) != 0)))
}
func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */
if priv != 0 {
priv = 128
}
- _ = (Bool32((__syscall4(tls, int64(238), int64(AtomicLoadUintptr(&addr)), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (__syscall4(tls, int64(238), int64(AtomicLoadUintptr(&addr)), int64(0), int64(val), int64(0)) != 0)))
+ _ = (Bool32((__syscall4(tls, int64(238), int64(addr), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (__syscall4(tls, int64(238), int64(addr), int64(0), int64(val), int64(0)) != 0)))
}
var X__fsmu8 = [51]uint32_t{
@@ -3498,12 +3577,12 @@ type linger = struct {
type sockaddr = struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
} /* socket.h:367:1 */
type sockaddr_storage = struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
} /* socket.h:372:1 */
@@ -3550,7 +3629,7 @@ type ipv6_mreq = struct {
type ip_opts = struct {
ip_dst struct{ s_addr in_addr_t }
- ip_opts [40]int8
+ ip_opts [40]uint8
} /* in.h:229:1 */
type ip_mreq = struct {
@@ -3583,7 +3662,7 @@ type group_req = struct {
_ [4]byte
gr_group struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
} /* in.h:275:1 */
@@ -3593,12 +3672,12 @@ type group_source_req = struct {
_ [4]byte
gsr_group struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
gsr_source struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
} /* in.h:280:1 */
@@ -3608,14 +3687,14 @@ type group_filter = struct {
_ [4]byte
gf_group struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
gf_fmode uint32_t
gf_numsrc uint32_t
gf_slist [1]struct {
ss_family sa_family_t
- __ss_padding [118]int8
+ __ss_padding [118]uint8
__ss_align uint64
}
} /* in.h:286:1 */
@@ -3791,7 +3870,7 @@ func Xgetaddrinfo(tls *TLS, host uintptr, serv uintptr, hint uintptr, res uintpt
// var addrs [48]address at bp+8, 1344
- // var canon [256]int8 at bp+1352, 256
+ // var canon [256]uint8 at bp+1352, 256
var outcanon uintptr
var nservs int32
@@ -4134,7 +4213,7 @@ func Xgethostbyname2_r(tls *TLS, name uintptr, af int32, h uintptr, buf uintptr,
// var addrs [48]address at bp, 1344
- // var canon [256]int8 at bp+1344, 256
+ // var canon [256]uint8 at bp+1344, 256
var i int32
var cnt int32
@@ -4232,12 +4311,12 @@ type if_nameindex = struct {
type ifaddr = struct {
ifa_addr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
ifa_ifu struct {
ifu_broadaddr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
}
ifa_ifp uintptr
@@ -4255,12 +4334,12 @@ type ifmap = struct {
} /* if.h:64:1 */
type ifreq = struct {
- ifr_ifrn struct{ ifrn_name [16]int8 }
+ ifr_ifrn struct{ ifrn_name [16]uint8 }
ifr_ifru struct {
_ [0]uint64
ifru_addr struct {
sa_family sa_family_t
- sa_data [14]int8
+ sa_data [14]uint8
}
_ [8]byte
}
@@ -4295,7 +4374,7 @@ type _ns_flagdata = struct {
} /* nameser.h:48:1 */
type __ns_rr = struct {
- name [1025]int8
+ name [1025]uint8
_ [1]byte
__type uint16_t
rr_class uint16_t
@@ -4317,8 +4396,8 @@ type ns_rcode = uint32 /* nameser.h:115:3 */
type ns_update_operation = uint32 /* nameser.h:121:3 */
type ns_tsig_key1 = struct {
- name [1025]int8
- alg [1025]int8
+ name [1025]uint8
+ alg [1025]uint8
_ [6]byte
data uintptr
len int32
@@ -4369,7 +4448,7 @@ type __res_state = struct {
id uint16
_ [2]byte
dnsrch [7]uintptr
- defdname [256]int8
+ defdname [256]uint8
pfcode uint64
ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
_ [4]byte
@@ -4385,7 +4464,7 @@ type __res_state = struct {
_ [4]byte
_u struct {
_ [0]uint64
- pad [52]int8
+ pad [52]uint8
_ [4]byte
}
} /* resolv.h:26:9 */
@@ -4402,9 +4481,9 @@ type res_sym = struct {
func itoa(tls *TLS, p uintptr, x uint32) uintptr { /* getnameinfo.c:18:13: */
p += (uintptr(uint64(3) * uint64(unsafe.Sizeof(int32(0)))))
- *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = uint8(0)
for ok := true; ok; ok = x != 0 {
- *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (int8(uint32('0') + (x % uint32(10))))
+ *(*uint8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (uint8(uint32('0') + (x % uint32(10))))
x = x / (uint32(10))
}
return p
@@ -4414,28 +4493,28 @@ func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */
bp := tls.Alloc(32)
defer tls.Free(32)
- Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */
+ Xsprintf(tls, s, ts+25, /* "%d.%d.%d.%d.in-a..." */
VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip)))))
}
func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */
var i int32
for i = 15; i >= 0; i-- {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
- *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = uint8('.')
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = uint8('.')
}
- Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */)
+ Xstrcpy(tls, s, ts+50 /* "ip6.arpa" */)
}
-var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
+var _sxdigits = *(*[17]uint8)(unsafe.Pointer(ts + 59 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */
bp := tls.Alloc(556)
defer tls.Free(556)
- // var line [512]int8 at bp+16, 512
+ // var line [512]uint8 at bp+16, 512
var p uintptr
var z uintptr
@@ -4446,31 +4525,31 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
// var iplit address at bp+528, 28
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
return
}
if family == 2 {
Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint64(4))
- Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, bp /* &atmp[0] */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
a = bp /* &atmp[0] */
}
- for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 {
+ for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]uint8{})), f) != 0 {
if AssignUintptr(&p, Xstrchr(tls, bp+16 /* &line[0] */, '#')) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
- *(*int8)(unsafe.Pointer(p)) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8('\n')
+ *(*uint8)(unsafe.Pointer(p)) = uint8(0)
}
- for p = bp + 16; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for p = bp + 16; /* &line[0] */ (*(*uint8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8(0)
if X__lookup_ipliteral(tls, bp+528 /* &iplit */, bp+16 /* &line[0] */, 0) <= 0 {
continue
}
if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 {
Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint64(4))
- Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
(*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0)
}
@@ -4478,11 +4557,11 @@ func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int3
continue
}
- for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for ; (*(*uint8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ for z = p; (*(*uint8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(z)))) != 0); z++ {
}
- *(*int8)(unsafe.Pointer(z)) = int8(0)
+ *(*uint8)(unsafe.Pointer(z)) = uint8(0)
if ((int64(z) - int64(p)) / 1) < int64(256) {
Xmemcpy(tls, buf, p, (uint64(((int64(z) - int64(p)) / 1) + int64(1))))
break
@@ -4522,11 +4601,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
bp := tls.Alloc(347)
defer tls.Free(347)
- // var ptr [78]int8 at bp, 78
+ // var ptr [78]uint8 at bp, 78
- // var buf [256]int8 at bp+78, 256
+ // var buf [256]uint8 at bp+78, 256
- // var num [13]int8 at bp+334, 13
+ // var num [13]uint8 at bp+334, 13
var af int32 = int32((*sockaddr)(unsafe.Pointer(sa1)).sa_family)
var a uintptr
@@ -4546,7 +4625,7 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in6{}))) {
return -6
}
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
mkptr6(tls, bp /* &ptr[0] */, a)
} else {
mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
@@ -4558,11 +4637,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
}
if (node != 0) && (nodelen != 0) {
- *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = uint8(0)
if !((flags & 0x01) != 0) {
reverse_hosts(tls, bp+78 /* &buf[0] */, a, scopeid, af)
}
- if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
Xabort(tls) //TODO-
// unsigned char query[18+PTR_MAX], reply[512];
// int qlen = __res_mkquery(0, ptr, 1, RR_PTR,
@@ -4573,11 +4652,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
// if (rlen > 0)
// __dns_parse(reply, rlen, dns_parse_callback, buf);
}
- if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
if (flags & 0x08) != 0 {
return -2
}
- Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]int8{})))
+ Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]uint8{})))
if scopeid != 0 {
Xabort(tls) //TODO-
// char *p = 0, tmp[IF_NAMESIZE+1];
@@ -4600,11 +4679,11 @@ func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen soc
if (serv != 0) && (servlen != 0) {
var p uintptr = bp + 78 /* buf */
var port int32 = int32(Xntohs(tls, (*sockaddr_in)(unsafe.Pointer(sa1)).sin_port))
- *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = uint8(0)
if !((flags & 0x02) != 0) {
reverse_services(tls, bp+78 /* &buf[0] */, port, (flags & 0x10))
}
- if !(int32(*(*int8)(unsafe.Pointer(p))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(p))) != 0) {
p = itoa(tls, bp+334 /* &num[0] */, uint32(port))
}
if Xstrlen(tls, p) >= size_t(servlen) {
@@ -4635,15 +4714,15 @@ func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5
for i = 0; i < 4; i++ {
*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)) = Xstrtoul(tls, s, bp+32 /* &z */, 0)
- if ((*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) == s) || ((*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)))) != 0) && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != '.'))) || !(func() int32 {
+ if ((*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) == s) || ((*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)))) != 0) && (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != '.'))) || !(func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(s))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
}() != 0) {
return 0
}
- if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != 0) {
break
}
s = (*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) + uintptr(1))
@@ -4682,25 +4761,25 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
var j int32
var max int32
var best int32
- // var buf [100]int8 at bp+176, 100
+ // var buf [100]uint8 at bp+176, 100
switch af {
case 2:
- if socklen_t(Xsnprintf(tls, s, uint64(l), ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
+ if socklen_t(Xsnprintf(tls, s, uint64(l), ts+103 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
return s
}
break
case 10:
- if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
- Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
- ts+113, /* "%x:%x:%x:%x:%x:%..." */
+ if Xmemcmp(tls, a, ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]uint8{})),
+ ts+115, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15))))))
} else {
- Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
- ts+137, /* "%x:%x:%x:%x:%x:%..." */
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]uint8{})),
+ ts+139, /* "%x:%x:%x:%x:%x:%..." */
VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
@@ -4709,18 +4788,18 @@ func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr
// Replace longest /(^0|:)[:0]{2,}/ with "::"
i = AssignInt32(&best, 0)
max = 2
- for ; *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
- if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
+ for ; *(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
+ if (i != 0) && (int32(*(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
continue
}
- j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */))
+ j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+169 /* ":0" */))
if j > max {
best = i
max = j
}
}
if max > 3 {
- *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrInt8(bp+176 /* &buf */ +uintptr((best+1)), int8(':'))
+ *(*uint8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrUint8(bp+176 /* &buf */ +uintptr((best+1)), uint8(':'))
Xmemmove(tls, ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(2)), ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(max)), (uint64(((i - best) - max) + 1)))
}
if Xstrlen(tls, bp+176 /* &buf[0] */) < size_t(l) {
@@ -4765,20 +4844,20 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
for i = 0; i < 4; i++ {
for v = AssignInt32(&j, 0); (j < 3) && (func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
}() != 0); j++ {
- v = (((10 * v) + int32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - '0')
+ v = (((10 * v) + int32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))) - '0')
}
- if ((j == 0) || ((j > 1) && (int32(*(*int8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
+ if ((j == 0) || ((j > 1) && (int32(*(*uint8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
return 0
}
*(*uint8)(unsafe.Pointer(a + uintptr(i))) = uint8(v)
- if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
+ if (int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
return 1
}
- if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
+ if int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
return 0
}
s += (uintptr(j + 1))
@@ -4789,15 +4868,15 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
return -1
}
- if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
+ if (int32(*(*uint8)(unsafe.Pointer(s))) == ':') && (int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
return 0
}
for i = 0; ; i++ {
- if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
+ if (int32(*(*uint8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
brk = i
*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(0)
- if !(int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
break
}
if i == 7 {
@@ -4805,21 +4884,21 @@ func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.
}
continue
}
- for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
+ for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*uint8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
v = ((16 * v) + d)
}
if j == 0 {
return 0
}
*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(v)
- if !(int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
+ if !(int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
break
}
if i == 7 {
return 0
}
- if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
- if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
+ if int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
+ if (int32(*(*uint8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
return 0
}
need_v4 = 1
@@ -4861,7 +4940,7 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
(*address)(unsafe.Pointer(buf)).scopeid = uint32(0)
return 1
}
- // var tmp [64]int8 at bp+4, 64
+ // var tmp [64]uint8 at bp+4, 64
var p uintptr = Xstrchr(tls, name, '%')
// var z uintptr at bp+88, 8
@@ -4869,7 +4948,7 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
var scopeid uint64 = uint64(0)
if (p != 0) && (((int64(p) - int64(name)) / 1) < int64(64)) {
Xmemcpy(tls, bp+4 /* &tmp[0] */, name, (uint64((int64(p) - int64(name)) / 1)))
- *(*int8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int64(p) - int64(name)) / 1)))) = int8(0)
+ *(*uint8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int64(p) - int64(name)) / 1)))) = uint8(0)
name = bp + 4 /* &tmp[0] */
}
@@ -4885,15 +4964,15 @@ func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int3
if p != 0 {
if func() int32 {
if 0 != 0 {
- return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
+ return Xisdigit(tls, int32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
}
- return (Bool32(((uint32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
+ return (Bool32(((uint32(*(*uint8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
}() != 0 {
scopeid = Xstrtoull(tls, p, bp+88 /* &z */, 10)
} else {
*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)) = (p - uintptr(1))
}
- if *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)))) != 0 {
+ if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)))) != 0 {
Xabort(tls) //TODO-
// if (!IN6_IS_ADDR_LINKLOCAL(&a6) &&
// !IN6_IS_ADDR_MC_LINKLOCAL(&a6))
@@ -4960,7 +5039,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
bp := tls.Alloc(512)
defer tls.Free(512)
- // var line [512]int8 at bp, 512
+ // var line [512]uint8 at bp, 512
var l size_t = Xstrlen(tls, name)
var cnt int32 = 0
@@ -4970,7 +5049,7 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
//TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
var _f FILE
_ = _f
- var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ var f uintptr = Xfopen(tls, ts+76 /* "/etc/hosts" */, ts+87 /* "rb" */)
if !(f != 0) {
switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) {
case 2:
@@ -4984,24 +5063,24 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
return -11
}
}
- for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0) && (cnt < 48) {
+ for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]uint8{})), f) != 0) && (cnt < 48) {
var p uintptr
var z uintptr
if AssignUintptr(&p, Xstrchr(tls, bp /* &line[0] */, '#')) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
- *(*int8)(unsafe.Pointer(p)) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8('\n')
+ *(*uint8)(unsafe.Pointer(p)) = uint8(0)
}
- for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
+ for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
}
if !(p != 0) {
continue
}
// Isolate IP address to parse
- for p = bp; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for p = bp; /* &line[0] */ (*(*uint8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = uint8(0)
switch name_from_numeric(tls, (buf + uintptr(cnt)*28), bp /* &line[0] */, family) {
case 1:
cnt++
@@ -5014,11 +5093,11 @@ func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family
}
// Extract first name as canonical name
- for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ for ; (*(*uint8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*uint8)(unsafe.Pointer(p)))) != 0); p++ {
}
- for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ for z = p; (*(*uint8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*uint8)(unsafe.Pointer(z)))) != 0); z++ {
}
- *(*int8)(unsafe.Pointer(z)) = int8(0)
+ *(*uint8)(unsafe.Pointer(z)) = uint8(0)
if is_valid_hostname(tls, p) != 0 {
Xmemcpy(tls, canon, p, (uint64(((int64(z) - int64(p)) / 1) + int64(1))))
}
@@ -5093,13 +5172,13 @@ type policy = struct {
} /* lookup_name.c:237:14 */
var defpolicy = [6]policy{
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 172 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 189 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 205 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 221 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 237 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
// Last rule must match all addresses to stop loop.
- {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 253 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
} /* lookup_name.c:241:3 */
func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */
@@ -5163,7 +5242,7 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
var j int32
_ = j
- *(*int8)(unsafe.Pointer(canon)) = int8(0)
+ *(*uint8)(unsafe.Pointer(canon)) = uint8(0)
if name != 0 {
// reject empty name and check len so it fits into temp bufs
var l size_t = Xstrnlen(tls, name, uint64(255))
@@ -5267,10 +5346,10 @@ func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family i
*(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
} else {
Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
- ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ ts+90 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
da = bp + 56 /* &da4 */
@@ -5324,7 +5403,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
bp := tls.Alloc(8)
defer tls.Free(8)
- var line [128]int8
+ var line [128]uint8
_ = line
var cnt int32 = 0
var p uintptr
@@ -5368,12 +5447,12 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
}
if name != 0 {
- if !(int32(*(*int8)(unsafe.Pointer(name))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(name))) != 0) {
return -8
}
port = Xstrtoul(tls, name, bp /* &z */, 10)
}
- if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
if port > uint64(65535) {
return -8
}
@@ -5484,7 +5563,9 @@ func X__unlockfile(tls *TLS, f uintptr) { /* __lockfile.c:19:6: */
func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
*(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE)(unsafe.Pointer(f)).mode - 1)
if (*FILE)(unsafe.Pointer(f)).wpos != (*FILE)(unsafe.Pointer(f)).wbase {
- (*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 72 /* &.write */))))(tls, f, uintptr(0), uint64(0))
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
}
(*FILE)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
if ((*FILE)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
@@ -5512,7 +5593,9 @@ func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
// var c uint8 at bp, 1
- if !(X__toread(tls, f) != 0) && ((*(*func(*TLS, uintptr, uintptr, size_t) size_t)(unsafe.Pointer((f + 64 /* &.read */))))(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
}
return -1
@@ -5536,7 +5619,7 @@ func store_int(tls *TLS, dest uintptr, size int32, i uint64) { /* vfscanf.c:22:1
}
switch size {
case -2:
- *(*int8)(unsafe.Pointer(dest)) = int8(i)
+ *(*uint8)(unsafe.Pointer(dest)) = uint8(i)
break
case -1:
*(*int16)(unsafe.Pointer(dest)) = int16(i)
@@ -6128,7 +6211,7 @@ __110:
}())) + 1)))) != 0) {
goto __111
}
- switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*int8)(unsafe.Pointer(bp + 264)) = int8(c); return bp + 264 }(), uint64(1), bp+268 /* &st */) {
+ switch Xmbrtowc(tls, bp+260 /* &wc */, func() uintptr { *(*uint8)(unsafe.Pointer(bp + 264)) = uint8(c); return bp + 264 }(), uint64(1), bp+268 /* &st */) {
case Uint64FromInt32(-1):
goto __113
case Uint64FromInt32(-2):
@@ -6191,7 +6274,7 @@ __122:
}())) + 1)))) != 0) {
goto __123
}
- *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = int8(c)
+ *(*uint8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = uint8(c)
if !(i == k) {
goto __124
}
@@ -6223,7 +6306,7 @@ __128:
}())) + 1)))) != 0) {
goto __129
}
- *(*int8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = int8(c)
+ *(*uint8)(unsafe.Pointer(s + uintptr(PostIncUint64(&i, 1)))) = uint8(c)
goto __128
__129:
;
@@ -6289,7 +6372,7 @@ __138:
if !(s != 0) {
goto __139
}
- *(*int8)(unsafe.Pointer(s + uintptr(i))) = int8(0)
+ *(*uint8)(unsafe.Pointer(s + uintptr(i))) = uint8(0)
__139:
;
__137:
@@ -6569,7 +6652,7 @@ __1:
goto __2
}
__3:
- if !((((uintptr_t(s) & (uint64(unsafe.Sizeof(size_t(0))) - uint64(1))) != 0) && (n != 0)) && (AssignPtrInt8(d, *(*int8)(unsafe.Pointer(s))) != 0)) {
+ if !((((uintptr_t(s) & (uint64(unsafe.Sizeof(size_t(0))) - uint64(1))) != 0) && (n != 0)) && (AssignPtrUint8(d, *(*uint8)(unsafe.Pointer(s))) != 0)) {
goto __5
}
goto __4
@@ -6581,7 +6664,7 @@ __4:
goto __5
__5:
;
- if !((n != 0) && (*(*int8)(unsafe.Pointer(s)) != 0)) {
+ if !((n != 0) && (*(*uint8)(unsafe.Pointer(s)) != 0)) {
goto __6
}
wd = d
@@ -6607,7 +6690,7 @@ __6:
__2:
;
__10:
- if !((n != 0) && (AssignPtrInt8(d, *(*int8)(unsafe.Pointer(s))) != 0)) {
+ if !((n != 0) && (AssignPtrUint8(d, *(*uint8)(unsafe.Pointer(s))) != 0)) {
goto __12
}
goto __11
@@ -6619,7 +6702,7 @@ __11:
goto __12
__12:
;
- *(*int8)(unsafe.Pointer(d)) = int8(0)
+ *(*uint8)(unsafe.Pointer(d)) = uint8(0)
finish:
return ((size_t((int64(d) - int64(d0)) / 1)) + Xstrlen(tls, s))
}
@@ -6653,11 +6736,11 @@ func X__strncasecmp_l(tls *TLS, l uintptr, r uintptr, n size_t, loc locale_t) in
func Xstrncat(tls *TLS, d uintptr, s uintptr, n size_t) uintptr { /* strncat.c:3:6: */
var a uintptr = d
d += uintptr(Xstrlen(tls, d))
- for (n != 0) && (*(*int8)(unsafe.Pointer(s)) != 0) {
+ for (n != 0) && (*(*uint8)(unsafe.Pointer(s)) != 0) {
n--
- *(*int8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1)))
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = *(*uint8)(unsafe.Pointer(PostIncUintptr(&s, 1)))
}
- *(*int8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = int8(0)
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&d, 1))) = uint8(0)
return a
}
@@ -6676,18 +6759,18 @@ func Xstrspn(tls *TLS, s uintptr, c uintptr) size_t { /* strspn.c:6:8: */
var a uintptr = s
*(*[4]size_t)(unsafe.Pointer(bp /* byteset */)) = [4]size_t{0: uint64(0)}
- if !(int32(*(*int8)(unsafe.Pointer(c))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(c))) != 0) {
return uint64(0)
}
- if !(int32(*(*int8)(unsafe.Pointer(c + 1))) != 0) {
- for ; int32(*(*int8)(unsafe.Pointer(s))) == int32(*(*int8)(unsafe.Pointer(c))); s++ {
+ if !(int32(*(*uint8)(unsafe.Pointer(c + 1))) != 0) {
+ for ; int32(*(*uint8)(unsafe.Pointer(s))) == int32(*(*uint8)(unsafe.Pointer(c))); s++ {
}
return (size_t((int64(s) - int64(a)) / 1))
}
- for ; (*(*int8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint64(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8, (size_t(uint64(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
+ for ; (*(*uint8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint64(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8, (size_t(uint64(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
}
- for ; (*(*int8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8)) & (size_t(uint64(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint64(8) * uint64(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
+ for ; (*(*uint8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8)) & (size_t(uint64(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint64(8) * uint64(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
}
return (size_t((int64(s) - int64(a)) / 1))
}
@@ -6697,12 +6780,12 @@ func Xstrtok(tls *TLS, s uintptr, sep uintptr) uintptr { /* strtok.c:3:6: */
return uintptr(0)
}
s += uintptr(Xstrspn(tls, s, sep))
- if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
+ if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
return AssignPtrUintptr(uintptr(unsafe.Pointer(&_sp)), uintptr(0))
}
_sp = (s + uintptr(Xstrcspn(tls, s, sep)))
- if *(*int8)(unsafe.Pointer(_sp)) != 0 {
- *(*int8)(unsafe.Pointer(PostIncUintptr(&_sp, 1))) = int8(0)
+ if *(*uint8)(unsafe.Pointer(_sp)) != 0 {
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&_sp, 1))) = uint8(0)
} else {
_sp = uintptr(0)
}
@@ -6857,5 +6940,9 @@ func Xpthread_mutexattr_settype(tls *TLS, a uintptr, type1 int32) int32 { /* pth
return 0
}
-var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+func init() {
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&ptable)) + 0)) = (uintptr(unsafe.Pointer(&table)) + uintptr(128)*2) // __ctype_b_loc.c:36:45:
+}
+
+var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00.\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/libc/musl_netbsd_amd64.go b/vendor/modernc.org/libc/musl_netbsd_amd64.go
new file mode 100644
index 000000000..9aeb094a5
--- /dev/null
+++ b/vendor/modernc.org/libc/musl_netbsd_amd64.go
@@ -0,0 +1,4324 @@
+// Code generated by 'ccgo -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6,getnameinfo,gethostbyaddr_r, -nostdinc -nostdlib -o ../musl_netbsd_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c ../netbsd/ctype_.cpp.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/internal/floatscan.c src/internal/intscan.c src/internal/shgetc.c src/math/copysignl.c src/math/fabsl.c src/math/fmodl.c src/math/rint.c src/math/scalbn.c src/math/scalbnl.c src/network/freeaddrinfo.c src/network/getaddrinfo.c src/network/gethostbyaddr.c src/network/gethostbyaddr_r.c src/network/gethostbyname.c src/network/gethostbyname2.c src/network/gethostbyname2_r.c src/network/getnameinfo.c src/network/h_errno.c src/network/inet_aton.c src/network/inet_ntop.c src/network/inet_pton.c src/network/lookup_ipliteral.c src/network/lookup_name.c src/network/lookup_serv.c src/stdio/__toread.c src/stdio/__uflow.c src/stdlib/strtod.c src/stdlib/strtol.c src/string/strdup.c src/string/strnlen.c src/string/strspn.c', DO NOT EDIT.
+
+package libc
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+// musl as a whole is licensed under the following standard MIT license:
+//
+// ----------------------------------------------------------------------
+// Copyright © 2005-2020 Rich Felker, et al.
+//
+// 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.
+// ----------------------------------------------------------------------
+//
+// Authors/contributors include:
+//
+// A. Wilcox
+// Ada Worcester
+// Alex Dowad
+// Alex Suykov
+// Alexander Monakov
+// Andre McCurdy
+// Andrew Kelley
+// Anthony G. Basile
+// Aric Belsito
+// Arvid Picciani
+// Bartosz Brachaczek
+// Benjamin Peterson
+// Bobby Bingham
+// Boris Brezillon
+// Brent Cook
+// Chris Spiegel
+// Clément Vasseur
+// Daniel Micay
+// Daniel Sabogal
+// Daurnimator
+// David Carlier
+// David Edelsohn
+// Denys Vlasenko
+// Dmitry Ivanov
+// Dmitry V. Levin
+// Drew DeVault
+// Emil Renner Berthing
+// Fangrui Song
+// Felix Fietkau
+// Felix Janda
+// Gianluca Anzolin
+// Hauke Mehrtens
+// He X
+// Hiltjo Posthuma
+// Isaac Dunham
+// Jaydeep Patil
+// Jens Gustedt
+// Jeremy Huntwork
+// Jo-Philipp Wich
+// Joakim Sindholt
+// John Spencer
+// Julien Ramseier
+// Justin Cormack
+// Kaarle Ritvanen
+// Khem Raj
+// Kylie McClain
+// Leah Neukirchen
+// Luca Barbato
+// Luka Perkov
+// M Farkas-Dyck (Strake)
+// Mahesh Bodapati
+// Markus Wichmann
+// Masanori Ogino
+// Michael Clark
+// Michael Forney
+// Mikhail Kremnyov
+// Natanael Copa
+// Nicholas J. Kain
+// orc
+// Pascal Cuoq
+// Patrick Oppenlander
+// Petr Hosek
+// Petr Skocik
+// Pierre Carrier
+// Reini Urban
+// Rich Felker
+// Richard Pennington
+// Ryan Fairfax
+// Samuel Holland
+// Segev Finer
+// Shiz
+// sin
+// Solar Designer
+// Stefan Kristiansson
+// Stefan O'Rear
+// Szabolcs Nagy
+// Timo Teräs
+// Trutz Behn
+// Valentin Ochs
+// Will Dietz
+// William Haddon
+// William Pitcock
+//
+// Portions of this software are derived from third-party works licensed
+// under terms compatible with the above MIT license:
+//
+// The TRE regular expression implementation (src/regex/reg* and
+// src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
+// under a 2-clause BSD license (license text in the source files). The
+// included version has been heavily modified by Rich Felker in 2012, in
+// the interests of size, simplicity, and namespace cleanliness.
+//
+// Much of the math library code (src/math/* and src/complex/*) is
+// Copyright © 1993,2004 Sun Microsystems or
+// Copyright © 2003-2011 David Schultz or
+// Copyright © 2003-2009 Steven G. Kargl or
+// Copyright © 2003-2009 Bruce D. Evans or
+// Copyright © 2008 Stephen L. Moshier or
+// Copyright © 2017-2018 Arm Limited
+// and labelled as such in comments in the individual source files. All
+// have been licensed under extremely permissive terms.
+//
+// The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008
+// The Android Open Source Project and is licensed under a two-clause BSD
+// license. It was taken from Bionic libc, used on Android.
+//
+// The AArch64 memcpy and memset code (src/string/aarch64/*) are
+// Copyright © 1999-2019, Arm Limited.
+//
+// The implementation of DES for crypt (src/crypt/crypt_des.c) is
+// Copyright © 1994 David Burren. It is licensed under a BSD license.
+//
+// The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
+// originally written by Solar Designer and placed into the public
+// domain. The code also comes with a fallback permissive license for use
+// in jurisdictions that may not recognize the public domain.
+//
+// The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
+// Valentin Ochs and is licensed under an MIT-style license.
+//
+// The x86_64 port was written by Nicholas J. Kain and is licensed under
+// the standard MIT terms.
+//
+// The mips and microblaze ports were originally written by Richard
+// Pennington for use in the ellcc project. The original code was adapted
+// by Rich Felker for build system and code conventions during upstream
+// integration. It is licensed under the standard MIT terms.
+//
+// The mips64 port was contributed by Imagination Technologies and is
+// licensed under the standard MIT terms.
+//
+// The powerpc port was also originally written by Richard Pennington,
+// and later supplemented and integrated by John Spencer. It is licensed
+// under the standard MIT terms.
+//
+// All other files which have no copyright comments are original works
+// produced specifically for use as part of this library, written either
+// by Rich Felker, the main author of the library, or by one or more
+// contibutors listed above. Details on authorship of individual files
+// can be found in the git version control history of the project. The
+// omission of copyright and license comments in each file is in the
+// interest of source tree size.
+//
+// In addition, permission is hereby granted for all public header files
+// (include/* and arch/*/bits/*) and crt files intended to be linked into
+// applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit
+// the copyright notice and permission notice otherwise required by the
+// license, and to use these files without any requirement of
+// attribution. These files include substantial contributions from:
+//
+// Bobby Bingham
+// John Spencer
+// Nicholas J. Kain
+// Rich Felker
+// Richard Pennington
+// Stefan Kristiansson
+// Szabolcs Nagy
+//
+// all of whom have explicitly granted such permission.
+//
+// This file previously contained text expressing a belief that most of
+// the files covered by the above exception were sufficiently trivial not
+// to be subject to copyright, resulting in confusion over whether it
+// negated the permissions granted in the license. In the spirit of
+// permissive licensing, and of not having licensing issues being an
+// obstacle to adoption, that text has been removed.
+const ( /* copyright.c:194:1: */
+ __musl__copyright__ = 0
+)
+
+const ( /* nameser.h:117:1: */
+ ns_uop_delete = 0
+ ns_uop_add = 1
+ ns_uop_max = 2
+)
+
+const ( /* nameser.h:147:1: */
+ ns_t_invalid = 0
+ ns_t_a = 1
+ ns_t_ns = 2
+ ns_t_md = 3
+ ns_t_mf = 4
+ ns_t_cname = 5
+ ns_t_soa = 6
+ ns_t_mb = 7
+ ns_t_mg = 8
+ ns_t_mr = 9
+ ns_t_null = 10
+ ns_t_wks = 11
+ ns_t_ptr = 12
+ ns_t_hinfo = 13
+ ns_t_minfo = 14
+ ns_t_mx = 15
+ ns_t_txt = 16
+ ns_t_rp = 17
+ ns_t_afsdb = 18
+ ns_t_x25 = 19
+ ns_t_isdn = 20
+ ns_t_rt = 21
+ ns_t_nsap = 22
+ ns_t_nsap_ptr = 23
+ ns_t_sig = 24
+ ns_t_key = 25
+ ns_t_px = 26
+ ns_t_gpos = 27
+ ns_t_aaaa = 28
+ ns_t_loc = 29
+ ns_t_nxt = 30
+ ns_t_eid = 31
+ ns_t_nimloc = 32
+ ns_t_srv = 33
+ ns_t_atma = 34
+ ns_t_naptr = 35
+ ns_t_kx = 36
+ ns_t_cert = 37
+ ns_t_a6 = 38
+ ns_t_dname = 39
+ ns_t_sink = 40
+ ns_t_opt = 41
+ ns_t_apl = 42
+ ns_t_tkey = 249
+ ns_t_tsig = 250
+ ns_t_ixfr = 251
+ ns_t_axfr = 252
+ ns_t_mailb = 253
+ ns_t_maila = 254
+ ns_t_any = 255
+ ns_t_zxfr = 256
+ ns_t_max = 65536
+)
+
+const ( /* nameser.h:210:1: */
+ ns_c_invalid = 0
+ ns_c_in = 1
+ ns_c_2 = 2
+ ns_c_chaos = 3
+ ns_c_hs = 4
+ ns_c_none = 254
+ ns_c_any = 255
+ ns_c_max = 65536
+)
+
+const ( /* nameser.h:221:1: */
+ ns_kt_rsa = 1
+ ns_kt_dh = 2
+ ns_kt_dsa = 3
+ ns_kt_private = 254
+)
+
+const ( /* nameser.h:228:1: */
+ cert_t_pkix = 1
+ cert_t_spki = 2
+ cert_t_pgp = 3
+ cert_t_url = 253
+ cert_t_oid = 254
+)
+
+const ( /* nameser.h:28:1: */
+ ns_s_qd = 0
+ ns_s_zn = 0
+ ns_s_an = 1
+ ns_s_pr = 1
+ ns_s_ns = 2
+ ns_s_ud = 2
+ ns_s_ar = 3
+ ns_s_max = 4
+)
+
+const ( /* nameser.h:75:1: */
+ ns_f_qr = 0
+ ns_f_opcode = 1
+ ns_f_aa = 2
+ ns_f_tc = 3
+ ns_f_rd = 4
+ ns_f_ra = 5
+ ns_f_z = 6
+ ns_f_ad = 7
+ ns_f_cd = 8
+ ns_f_rcode = 9
+ ns_f_max = 10
+)
+
+const ( /* nameser.h:89:1: */
+ ns_o_query = 0
+ ns_o_iquery = 1
+ ns_o_status = 2
+ ns_o_notify = 4
+ ns_o_update = 5
+ ns_o_max = 6
+)
+
+const ( /* nameser.h:98:1: */
+ ns_r_noerror = 0
+ ns_r_formerr = 1
+ ns_r_servfail = 2
+ ns_r_nxdomain = 3
+ ns_r_notimpl = 4
+ ns_r_refused = 5
+ ns_r_yxdomain = 6
+ ns_r_yxrrset = 7
+ ns_r_nxrrset = 8
+ ns_r_notauth = 9
+ ns_r_notzone = 10
+ ns_r_max = 11
+ ns_r_badvers = 16
+ ns_r_badsig = 16
+ ns_r_badkey = 17
+ ns_r_badtime = 18
+)
+
+type ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type size_t = uint64 /* <builtin>:9:23 */
+
+type wchar_t = int32 /* <builtin>:15:24 */
+
+type ssize_t = int64 /* ctype_.cpp.c:111:18 */
+
+type __sfpos = struct {
+ _pos int64
+ _mbstate_in struct {
+ __mbstateL int64
+ _ [120]byte
+ }
+ _mbstate_out struct {
+ __mbstateL int64
+ _ [120]byte
+ }
+} /* ctype_.cpp.c:121:9 */
+
+type fpos_t = __sfpos /* ctype_.cpp.c:124:3 */
+type __sbuf = struct {
+ _base uintptr
+ _size int32
+ _ [4]byte
+} /* ctype_.cpp.c:126:1 */
+
+type __sFILE = struct {
+ _p uintptr
+ _r int32
+ _w int32
+ _flags uint16
+ _file int16
+ _ [4]byte
+ _bf struct {
+ _base uintptr
+ _size int32
+ _ [4]byte
+ }
+ _lbfsize int32
+ _ [4]byte
+ _cookie uintptr
+ _close uintptr
+ _read uintptr
+ _seek uintptr
+ _write uintptr
+ _ext struct {
+ _base uintptr
+ _size int32
+ _ [4]byte
+ }
+ _up uintptr
+ _ur int32
+ _ubuf [3]uint8
+ _nbuf [1]uint8
+ _flush uintptr
+ _lb_unused [8]int8
+ _blksize int32
+ _ [4]byte
+ _offset int64
+} /* ctype_.cpp.c:131:9 */
+
+type FILE = __sFILE /* ctype_.cpp.c:165:3 */
+
+type off_t = int64 /* ctype_.cpp.c:365:17 */
+
+type locale_t = uintptr /* ctype_.cpp.c:514:24 */
+var X_C_ctype_tab_ = [257]uint16{
+ 0: uint16(0),
+
+ 1: uint16(0x0002),
+ 2: uint16(0x0002),
+ 3: uint16(0x0002),
+ 4: uint16(0x0002),
+
+ 5: uint16(0x0002),
+ 6: uint16(0x0002),
+ 7: uint16(0x0002),
+ 8: uint16(0x0002),
+
+ 9: uint16(0x0002),
+ 10: (uint16((0x0200 |
+ 0x0002) |
+ 0x0040)),
+ 11: (uint16(0x0002 |
+ 0x0040)),
+ 12: (uint16(0x0002 |
+ 0x0040)),
+
+ 13: (uint16(0x0002 |
+ 0x0040)),
+ 14: (uint16(0x0002 |
+ 0x0040)),
+ 15: uint16(0x0002),
+ 16: uint16(0x0002),
+
+ 17: uint16(0x0002),
+ 18: uint16(0x0002),
+ 19: uint16(0x0002),
+ 20: uint16(0x0002),
+
+ 21: uint16(0x0002),
+ 22: uint16(0x0002),
+ 23: uint16(0x0002),
+ 24: uint16(0x0002),
+
+ 25: uint16(0x0002),
+ 26: uint16(0x0002),
+ 27: uint16(0x0002),
+ 28: uint16(0x0002),
+
+ 29: uint16(0x0002),
+ 30: uint16(0x0002),
+ 31: uint16(0x0002),
+ 32: uint16(0x0002),
+
+ 33: (uint16((0x0200 |
+ 0x0400) |
+ 0x0040)),
+ 34: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 35: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 36: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 37: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 38: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 39: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 40: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 41: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 42: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 43: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 44: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 45: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 46: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 47: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 48: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 49: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 50: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 51: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 52: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+
+ 53: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 54: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 55: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 56: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+
+ 57: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 58: (uint16(((0x0004 |
+ 0x0008) |
+ 0x0400) |
+ 0x0100)),
+ 59: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 60: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 61: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 62: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 63: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 64: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 65: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 66: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080) |
+ 0x0100)),
+ 67: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080) |
+ 0x0100)),
+ 68: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080) |
+ 0x0100)),
+
+ 69: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080) |
+ 0x0100)),
+ 70: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080) |
+ 0x0100)),
+ 71: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080) |
+ 0x0100)),
+ 72: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+
+ 73: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 74: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 75: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 76: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+
+ 77: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 78: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 79: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 80: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+
+ 81: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 82: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 83: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 84: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+
+ 85: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 86: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 87: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 88: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+
+ 89: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 90: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 91: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0400) |
+ 0x0080)),
+ 92: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 93: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 94: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 95: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 96: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 97: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 98: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400) |
+ 0x0100)),
+ 99: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400) |
+ 0x0100)),
+ 100: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400) |
+ 0x0100)),
+
+ 101: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400) |
+ 0x0100)),
+ 102: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400) |
+ 0x0100)),
+ 103: (uint16((((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400) |
+ 0x0100)),
+ 104: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+
+ 105: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 106: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 107: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 108: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+
+ 109: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 110: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 111: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 112: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+
+ 113: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 114: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 115: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 116: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+
+ 117: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 118: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 119: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 120: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+
+ 121: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 122: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 123: (uint16(((0x0001 |
+ 0x0008) |
+ 0x0010) |
+ 0x0400)),
+ 124: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+
+ 125: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 126: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 127: (uint16((0x0008 |
+ 0x0400) |
+ 0x0020)),
+ 128: uint16(0x0002),
+} /* ctype_.cpp.c:601:22 */
+var X_ctype_tab_ uintptr = 0 /* ctype_.cpp.c:2233:22 */
+
+func __isspace(tls *TLS, _c int32) int32 { /* ctype.h:26:21: */
+ return (Bool32((_c == ' ') || ((uint32(_c) - uint32('\t')) < uint32(5))))
+}
+
+type locale_t1 = uintptr /* alltypes.h:343:32 */
+
+func Xisalnum(tls *TLS, c int32) int32 { /* isalnum.c:3:5: */
+ return (Bool32((func() int32 {
+ if 0 != 0 {
+ return Xisalpha(tls, c)
+ }
+ return (Bool32((((uint32(c)) | uint32(32)) - uint32('a')) < uint32(26)))
+ }() != 0) || (func() int32 {
+ if 0 != 0 {
+ return Xisdigit(tls, c)
+ }
+ return (Bool32(((uint32(c)) - uint32('0')) < uint32(10)))
+ }() != 0)))
+}
+
+func X__isalnum_l(tls *TLS, c int32, l locale_t1) int32 { /* isalnum.c:8:5: */
+ return Xisalnum(tls, c)
+}
+
+func Xisalpha(tls *TLS, c int32) int32 { /* isalpha.c:4:5: */
+ return (Bool32(((uint32(c) | uint32(32)) - uint32('a')) < uint32(26)))
+}
+
+func X__isalpha_l(tls *TLS, c int32, l locale_t1) int32 { /* isalpha.c:9:5: */
+ return Xisalpha(tls, c)
+}
+
+func Xisdigit(tls *TLS, c int32) int32 { /* isdigit.c:4:5: */
+ return (Bool32((uint32(c) - uint32('0')) < uint32(10)))
+}
+
+func X__isdigit_l(tls *TLS, c int32, l locale_t1) int32 { /* isdigit.c:9:5: */
+ return Xisdigit(tls, c)
+}
+
+type uintptr_t = uint64 /* alltypes.h:55:24 */
+
+type intptr_t = int64 /* alltypes.h:70:15 */
+
+type int8_t = int8 /* alltypes.h:96:25 */
+
+type int16_t = int16 /* alltypes.h:101:25 */
+
+type int32_t = int32 /* alltypes.h:106:25 */
+
+type int64_t = int64 /* alltypes.h:111:25 */
+
+type intmax_t = int64 /* alltypes.h:116:25 */
+
+type uint8_t = uint8 /* alltypes.h:121:25 */
+
+type uint16_t = uint16 /* alltypes.h:126:25 */
+
+type uint32_t = uint32 /* alltypes.h:131:25 */
+
+type uint64_t = uint64 /* alltypes.h:136:25 */
+
+type uintmax_t = uint64 /* alltypes.h:146:25 */
+
+type int_fast8_t = int8_t /* stdint.h:22:16 */
+type int_fast64_t = int64_t /* stdint.h:23:17 */
+
+type int_least8_t = int8_t /* stdint.h:25:17 */
+type int_least16_t = int16_t /* stdint.h:26:17 */
+type int_least32_t = int32_t /* stdint.h:27:17 */
+type int_least64_t = int64_t /* stdint.h:28:17 */
+
+type uint_fast8_t = uint8_t /* stdint.h:30:17 */
+type uint_fast64_t = uint64_t /* stdint.h:31:18 */
+
+type uint_least8_t = uint8_t /* stdint.h:33:18 */
+type uint_least16_t = uint16_t /* stdint.h:34:18 */
+type uint_least32_t = uint32_t /* stdint.h:35:18 */
+type uint_least64_t = uint64_t /* stdint.h:36:18 */
+
+type int_fast16_t = int32_t /* stdint.h:1:17 */
+type int_fast32_t = int32_t /* stdint.h:2:17 */
+type uint_fast16_t = uint32_t /* stdint.h:3:18 */
+type uint_fast32_t = uint32_t /* stdint.h:4:18 */
+
+type _IO_FILE = struct {
+ flags uint32
+ _ [4]byte
+ rpos uintptr
+ rend uintptr
+ close uintptr
+ wend uintptr
+ wpos uintptr
+ mustbezero_1 uintptr
+ wbase uintptr
+ read uintptr
+ write uintptr
+ seek uintptr
+ buf uintptr
+ buf_size size_t
+ prev uintptr
+ next uintptr
+ fd int32
+ pipe_pid int32
+ lockcount int64
+ mode int32
+ lock int32
+ lbf int32
+ _ [4]byte
+ cookie uintptr
+ off off_t
+ getln_buf uintptr
+ mustbezero_2 uintptr
+ shend uintptr
+ shlim off_t
+ shcnt off_t
+ prev_locked uintptr
+ next_locked uintptr
+ locale uintptr
+} /* alltypes.h:320:9 */
+
+type FILE1 = _IO_FILE /* alltypes.h:320:25 */
+
+type va_list = uintptr /* alltypes.h:326:27 */
+
+type _G_fpos64_t = struct {
+ _ [0]uint64
+ __opaque [16]int8
+} /* stdio.h:54:9 */
+
+type fpos_t1 = _G_fpos64_t /* stdio.h:58:3 */
+
+type float_t = float32 /* alltypes.h:29:15 */
+
+type double_t = float64 /* alltypes.h:34:16 */
+
+func __FLOAT_BITS(tls *TLS, __f float32) uint32 { /* math.h:55:26: */
+ bp := tls.Alloc(4)
+ defer tls.Free(4)
+
+ // var __u struct {__f float32;} at bp, 4
+
+ *(*float32)(unsafe.Pointer(bp /* &__u */)) = __f
+ return *(*uint32)(unsafe.Pointer(bp /* &__u */))
+}
+
+func __DOUBLE_BITS(tls *TLS, __f float64) uint64 { /* math.h:61:36: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ // var __u struct {__f float64;} at bp, 8
+
+ *(*float64)(unsafe.Pointer(bp /* &__u */)) = __f
+ return *(*uint64)(unsafe.Pointer(bp /* &__u */))
+}
+
+type syscall_arg_t = int64 /* syscall.h:22:14 */
+
+func scanexp(tls *TLS, f uintptr, pok int32) int64 { /* floatscan.c:37:18: */
+ var c int32
+ var x int32
+ var y int64
+ var neg int32 = 0
+
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ if (c == '+') || (c == '-') {
+ neg = (Bool32(c == '-'))
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ if ((uint32(c - '0')) >= 10) && (pok != 0) {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ }
+ }
+ if (uint32(c - '0')) >= 10 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ return (-0x7fffffffffffffff - int64(1))
+ }
+ for x = 0; ((uint32(c - '0')) < 10) && (x < (0x7fffffff / 10)); c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ x = (((10 * x) + c) - '0')
+ }
+ for y = int64(x); ((uint32(c - '0')) < 10) && (y < (0x7fffffffffffffff / int64(100))); c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ y = (((int64(10) * y) + int64(c)) - int64('0'))
+ }
+ for ; (uint32(c - '0')) < 10; c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ }
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if neg != 0 {
+ return -y
+ }
+ return y
+}
+
+func decfloat(tls *TLS, f uintptr, c int32, bits int32, emin int32, sign int32, pok int32) float64 { /* floatscan.c:64:20: */
+ bp := tls.Alloc(512)
+ defer tls.Free(512)
+
+ // var x [128]uint32_t at bp, 512
+
+ var i int32
+ var j int32
+ var k int32
+ var a int32
+ var z int32
+ var lrp int64 = int64(0)
+ var dc int64 = int64(0)
+ var e10 int64 = int64(0)
+ var lnz int32 = 0
+ var gotdig int32 = 0
+ var gotrad int32 = 0
+ var rp int32
+ var e2 int32
+ var emax int32 = ((-emin - bits) + 3)
+ var denormal int32 = 0
+ var y float64
+ var frac float64 = float64(0)
+ var bias float64 = float64(0)
+
+ j = 0
+ k = 0
+
+ // Don't let leading zeros consume buffer space
+ for ; c == '0'; c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ gotdig = 1
+ }
+ if c == '.' {
+ gotrad = 1
+ for c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }(); c == '0'; c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ gotdig = 1
+ lrp--
+ }
+ }
+
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */)) = uint32_t(0)
+ for ; ((uint32(c - '0')) < 10) || (c == '.'); c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ if c == '.' {
+ if gotrad != 0 {
+ break
+ }
+ gotrad = 1
+ lrp = dc
+ } else if k < (128 - 3) {
+ dc++
+ if c != '0' {
+ lnz = int32(dc)
+ }
+ if j != 0 {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) = (((*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) * uint32_t(10)) + uint32_t(c)) - uint32_t('0'))
+ } else {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) = (uint32_t(c - '0'))
+ }
+ if PreIncInt32(&j, 1) == 9 {
+ k++
+ j = 0
+ }
+ gotdig = 1
+ } else {
+ dc++
+ if c != '0' {
+ lnz = ((128 - 4) * 9)
+ *(*uint32_t)(unsafe.Pointer(bp /* &x */ + 124*4)) |= (uint32_t(1))
+ }
+ }
+ }
+ if !(gotrad != 0) {
+ lrp = dc
+ }
+
+ if (gotdig != 0) && ((c | 32) == 'e') {
+ e10 = scanexp(tls, f, pok)
+ if e10 == (-0x7fffffffffffffff - int64(1)) {
+ if pok != 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ } else {
+ X__shlim(tls, f, int64(0))
+ return float64(0)
+ }
+ e10 = int64(0)
+ }
+ lrp = lrp + (e10)
+ } else if c >= 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ }
+ if !(gotdig != 0) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 22
+ X__shlim(tls, f, int64(0))
+ return float64(0)
+ }
+
+ // Handle zero specially to avoid nasty special cases later
+ if !(int32(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */))) != 0) {
+ return (float64(sign) * 0.0)
+ }
+
+ // Optimize small integers (w/no exponent) and over/under-flow
+ if ((lrp == dc) && (dc < int64(10))) && ((bits > 30) || ((*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */)) >> bits) == uint32_t(0))) {
+ return (float64(sign) * float64(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */))))
+ }
+ if lrp > (int64(-emin / 2)) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ return ((float64(sign) * 1.79769313486231570815e+308) * 1.79769313486231570815e+308)
+ }
+ if lrp < (int64(emin - (2 * 53))) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ return ((float64(sign) * 2.22507385850720138309e-308) * 2.22507385850720138309e-308)
+ }
+
+ // Align incomplete final B1B digit
+ if j != 0 {
+ for ; j < 9; j++ {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x */ + uintptr(k)*4)) *= (uint32_t(10))
+ }
+ k++
+ j = 0
+ }
+
+ a = 0
+ z = k
+ e2 = 0
+ rp = int32(lrp)
+
+ // Optimize small to mid-size integers (even in exp. notation)
+ if ((lnz < 9) && (lnz <= rp)) && (rp < 18) {
+ if rp == 9 {
+ return (float64(sign) * float64(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */))))
+ }
+ if rp < 9 {
+ return ((float64(sign) * float64(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */)))) / float64(_sp10s[(8-rp)]))
+ }
+ var bitlim int32 = (bits - (3 * (rp - 9)))
+ if (bitlim > 30) || ((*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */)) >> bitlim) == uint32_t(0)) {
+ return ((float64(sign) * float64(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */)))) * float64(_sp10s[(rp-10)]))
+ }
+ }
+
+ // Drop trailing zeros
+ for ; !(int32(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr((z-1))*4))) != 0); z-- {
+ }
+
+ // Align radix point to B1B digit boundary
+ if (rp % 9) != 0 {
+ var rpm9 int32
+ if rp >= 0 {
+ rpm9 = (rp % 9)
+ } else {
+ rpm9 = ((rp % 9) + 9)
+ }
+ var p10 int32 = _sp10s[(8 - rpm9)]
+ var carry uint32_t = uint32_t(0)
+ for k = a; k != z; k++ {
+ var tmp uint32_t = (*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) % uint32_t(p10))
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) = ((*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) / uint32_t(p10)) + carry)
+ carry = ((uint32_t(1000000000 / p10)) * tmp)
+ if (k == a) && !(int32(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4))) != 0) {
+ a = ((a + 1) & (128 - 1))
+ rp = rp - (9)
+ }
+ }
+ if carry != 0 {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(PostIncInt32(&z, 1))*4)) = carry
+ }
+ rp = rp + (9 - rpm9)
+ }
+
+ // Upscale until desired number of bits are left of radix point
+ for (rp < (9 * 2)) || ((rp == (9 * 2)) && (*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(a)*4)) < _sth[0])) {
+ var carry uint32_t = uint32_t(0)
+ e2 = e2 - (29)
+ for k = ((z - 1) & (128 - 1)); ; k = ((k - 1) & (128 - 1)) {
+ var tmp uint64_t = ((uint64_t(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4))) << 29) + uint64_t(carry))
+ if tmp > uint64(1000000000) {
+ carry = (uint32_t(tmp / uint64(1000000000)))
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) = (uint32_t(tmp % uint64(1000000000)))
+ } else {
+ carry = uint32_t(0)
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) = uint32_t(tmp)
+ }
+ if ((k == ((z - 1) & (128 - 1))) && (k != a)) && !(int32(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4))) != 0) {
+ z = k
+ }
+ if k == a {
+ break
+ }
+ }
+ if carry != 0 {
+ rp = rp + (9)
+ a = ((a - 1) & (128 - 1))
+ if a == z {
+ z = ((z - 1) & (128 - 1))
+ *(*uint32_t)(unsafe.Pointer(bp /* &x */ + uintptr(((z-1)&(128-1)))*4)) |= (*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(z)*4)))
+ }
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(a)*4)) = carry
+ }
+ }
+
+ // Downscale until exactly number of bits are left of radix point
+ for {
+ var carry uint32_t = uint32_t(0)
+ var sh int32 = 1
+ for i = 0; i < 2; i++ {
+ k = ((a + i) & (128 - 1))
+ if (k == z) || (*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) < _sth[i]) {
+ i = 2
+ break
+ }
+ if *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(((a+i)&(128-1)))*4)) > _sth[i] {
+ break
+ }
+ }
+ if (i == 2) && (rp == (9 * 2)) {
+ break
+ }
+ // FIXME: find a way to compute optimal sh
+ if rp > (9 + (9 * 2)) {
+ sh = 9
+ }
+ e2 = e2 + (sh)
+ for k = a; k != z; k = ((k + 1) & (128 - 1)) {
+ var tmp uint32_t = (*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) & (uint32_t((int32(1) << sh) - 1)))
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) = ((*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4)) >> sh) + carry)
+ carry = ((uint32_t(int32(1000000000) >> sh)) * tmp)
+ if (k == a) && !(int32(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(k)*4))) != 0) {
+ a = ((a + 1) & (128 - 1))
+ i--
+ rp = rp - (9)
+ }
+ }
+ if carry != 0 {
+ if ((z + 1) & (128 - 1)) != a {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(z)*4)) = carry
+ z = ((z + 1) & (128 - 1))
+ } else {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x */ + uintptr(((z-1)&(128-1)))*4)) |= (uint32_t(1))
+ }
+ }
+ }
+
+ // Assemble desired bits into floating point variable
+ for y = float64(AssignInt32(&i, 0)); i < 2; i++ {
+ if ((a + i) & (128 - 1)) == z {
+ *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(((AssignInt32(&z, ((z+1)&(128-1))))-1))*4)) = uint32_t(0)
+ }
+ y = ((1000000000.0 * y) + float64(*(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(((a+i)&(128-1)))*4))))
+ }
+
+ y = y * (float64(sign))
+
+ // Limit precision for denormal results
+ if bits > ((53 + e2) - emin) {
+ bits = ((53 + e2) - emin)
+ if bits < 0 {
+ bits = 0
+ }
+ denormal = 1
+ }
+
+ // Calculate bias term to force rounding, move out lower bits
+ if bits < 53 {
+ bias = Xcopysignl(tls, Xscalbn(tls, float64(1), (((2*53)-bits)-1)), y)
+ frac = Xfmodl(tls, y, Xscalbn(tls, float64(1), (53-bits)))
+ y = y - (frac)
+ y = y + (bias)
+ }
+
+ // Process tail of decimal input so it can affect rounding
+ if ((a + i) & (128 - 1)) != z {
+ var t uint32_t = *(*uint32_t)(unsafe.Pointer(bp /* &x[0] */ + uintptr(((a+i)&(128-1)))*4))
+ if (t < uint32_t(500000000)) && ((t != 0) || ((((a + i) + 1) & (128 - 1)) != z)) {
+ frac = frac + (0.25 * float64(sign))
+ } else if t > uint32_t(500000000) {
+ frac = frac + (0.75 * float64(sign))
+ } else if t == uint32_t(500000000) {
+ if (((a + i) + 1) & (128 - 1)) == z {
+ frac = frac + (0.5 * float64(sign))
+ } else {
+ frac = frac + (0.75 * float64(sign))
+ }
+ }
+ if ((53 - bits) >= 2) && !(Xfmodl(tls, frac, float64(1)) != 0) {
+ frac += 1
+ }
+ }
+
+ y = y + (frac)
+ y = y - (bias)
+
+ if ((e2 + 53) & 0x7fffffff) > (emax - 5) {
+ if Xfabsl(tls, y) >= (float64(float64(2)) / 2.22044604925031308085e-16) {
+ if (denormal != 0) && (bits == ((53 + e2) - emin)) {
+ denormal = 0
+ }
+ y = y * (0.5)
+ e2++
+ }
+ if ((e2 + 53) > emax) || ((denormal != 0) && (frac != 0)) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ }
+ }
+
+ return Xscalbnl(tls, y, e2)
+}
+
+var _sth = [2]uint32_t{uint32_t(9007199), uint32_t(254740991)} /* floatscan.c:67:24 */
+var _sp10s = [8]int32{10, 100, 1000, 10000,
+ 100000, 1000000, 10000000, 100000000} /* floatscan.c:80:19 */
+
+func hexfloat(tls *TLS, f uintptr, bits int32, emin int32, sign int32, pok int32) float64 { /* floatscan.c:315:20: */
+ var x uint32_t = uint32_t(0)
+ var y float64 = float64(0)
+ var scale float64 = float64(1)
+ var bias float64 = float64(0)
+ var gottail int32 = 0
+ var gotrad int32 = 0
+ var gotdig int32 = 0
+ var rp int64 = int64(0)
+ var dc int64 = int64(0)
+ var e2 int64 = int64(0)
+ var d int32
+ var c int32
+
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+
+ // Skip leading zeros
+ for ; c == '0'; c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ gotdig = 1
+ }
+
+ if c == '.' {
+ gotrad = 1
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ // Count zeros after the radix point before significand
+ rp = int64(0)
+ __1:
+ if !(c == '0') {
+ goto __3
+ }
+ gotdig = 1
+ goto __2
+ __2:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ rp--
+ goto __1
+ goto __3
+ __3:
+ }
+
+ for ; (((uint32(c - '0')) < 10) || ((uint32((c | 32) - 'a')) < 6)) || (c == '.'); c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }() {
+ if c == '.' {
+ if gotrad != 0 {
+ break
+ }
+ rp = dc
+ gotrad = 1
+ } else {
+ gotdig = 1
+ if c > '9' {
+ d = (((c | 32) + 10) - 'a')
+ } else {
+ d = (c - '0')
+ }
+ if dc < int64(8) {
+ x = ((x * uint32_t(16)) + uint32_t(d))
+ } else if dc < (int64((53 / 4) + 1)) {
+ y = y + (float64(d) * (AssignDivFloat64(&scale, float64(16))))
+ } else if (d != 0) && !(gottail != 0) {
+ y = y + (0.5 * scale)
+ gottail = 1
+ }
+ dc++
+ }
+ }
+ if !(gotdig != 0) {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if pok != 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if gotrad != 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ }
+ } else {
+ X__shlim(tls, f, int64(0))
+ }
+ return (float64(sign) * 0.0)
+ }
+ if !(gotrad != 0) {
+ rp = dc
+ }
+ for dc < int64(8) {
+ x = x * (uint32_t(16))
+ dc++
+ }
+ if (c | 32) == 'p' {
+ e2 = scanexp(tls, f, pok)
+ if e2 == (-0x7fffffffffffffff - int64(1)) {
+ if pok != 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ } else {
+ X__shlim(tls, f, int64(0))
+ return float64(0)
+ }
+ e2 = int64(0)
+ }
+ } else {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ }
+ e2 = e2 + ((int64(4) * rp) - int64(32))
+
+ if !(x != 0) {
+ return (float64(sign) * 0.0)
+ }
+ if e2 > int64(-emin) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ return ((float64(sign) * 1.79769313486231570815e+308) * 1.79769313486231570815e+308)
+ }
+ if e2 < (int64(emin - (2 * 53))) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ return ((float64(sign) * 2.22507385850720138309e-308) * 2.22507385850720138309e-308)
+ }
+
+ for x < 0x80000000 {
+ if y >= 0.5 {
+ x = x + (x + uint32_t(1))
+ y = y + (y - float64(1))
+ } else {
+ x = x + (x)
+ y = y + (y)
+ }
+ e2--
+ }
+
+ if int64(bits) > ((int64(32) + e2) - int64(emin)) {
+ bits = (int32((int64(32) + e2) - int64(emin)))
+ if bits < 0 {
+ bits = 0
+ }
+ }
+
+ if bits < 53 {
+ bias = Xcopysignl(tls, Xscalbn(tls, float64(1), (((32+53)-bits)-1)), float64(sign))
+ }
+
+ if ((bits < 32) && (y != 0)) && !((x & uint32_t(1)) != 0) {
+ x++
+ y = float64(0)
+ }
+
+ y = ((bias + (float64(sign) * float64(x))) + (float64(sign) * y))
+ y = y - (bias)
+
+ if !(y != 0) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ }
+
+ return Xscalbnl(tls, y, int32(e2))
+}
+
+func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) float64 { /* floatscan.c:427:13: */
+ var sign int32 = 1
+ var i size_t
+ var bits int32
+ var emin int32
+ var c int32
+
+ switch prec {
+ case 0:
+ bits = 24
+ emin = ((-125) - bits)
+ break
+ case 1:
+ bits = 53
+ emin = ((-1021) - bits)
+ break
+ case 2:
+ bits = 53
+ emin = ((-1021) - bits)
+ break
+ default:
+ return float64(0)
+ }
+
+ for __isspace(tls, AssignInt32(&c, func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) != 0 {
+ }
+
+ if (c == '+') || (c == '-') {
+ sign = sign - (2 * (Bool32(c == '-')))
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ }
+
+ for i = uint64(0); (i < uint64(8)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts /* "infinity" */ + uintptr(i))))); i++ {
+ if i < uint64(7) {
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ }
+ }
+ if ((i == uint64(3)) || (i == uint64(8))) || ((i > uint64(3)) && (pok != 0)) {
+ if i != uint64(8) {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if pok != 0 {
+ for ; i > uint64(3); i-- {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ }
+ }
+ }
+ return (float64(float32(sign) * X__builtin_inff(tls)))
+ }
+ if !(i != 0) {
+ for i = uint64(0); (i < uint64(3)) && ((c | 32) == int32(*(*int8)(unsafe.Pointer(ts + 9 /* "nan" */ + uintptr(i))))); i++ {
+ if i < uint64(2) {
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ }
+ }
+ }
+ if i == uint64(3) {
+ if (func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()) != '(' {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ return float64(X__builtin_nanf(tls, ts+13 /* "" */))
+ }
+ for i = uint64(1); ; i++ {
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ if ((((uint32(c - '0')) < 10) || ((uint32(c - 'A')) < 26)) || ((uint32(c - 'a')) < 26)) || (c == '_') {
+ continue
+ }
+ if c == ')' {
+ return float64(X__builtin_nanf(tls, ts+13 /* "" */))
+ }
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if !(pok != 0) {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 22
+ X__shlim(tls, f, int64(0))
+ return float64(0)
+ }
+ for PostDecUint64(&i, 1) != 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ }
+ return float64(X__builtin_nanf(tls, ts+13 /* "" */))
+ }
+ return float64(X__builtin_nanf(tls, ts+13 /* "" */))
+ }
+
+ if i != 0 {
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 22
+ X__shlim(tls, f, int64(0))
+ return float64(0)
+ }
+
+ if c == '0' {
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ if (c | 32) == 'x' {
+ return hexfloat(tls, f, bits, emin, sign, pok)
+ }
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ c = '0'
+ }
+
+ return decfloat(tls, f, c, bits, emin, sign, pok)
+}
+
+// Lookup table for digit values. -1==255>=36 -> invalid
+var table = [257]uint8{Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ uint8(0), uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24),
+ uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17), uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24),
+ uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+ Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1), Uint8FromInt32(-1),
+} /* intscan.c:7:28 */
+
+func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) uint64 { /* intscan.c:26:20: */
+ var val uintptr
+ var c int32
+ var neg int32
+ var x uint32
+ var y uint64
+ var bs int32
+ val = (uintptr(unsafe.Pointer(&table)) + uintptr(1))
+ neg = 0
+ if !((base > uint32(36)) || (base == uint32(1))) {
+ goto __1
+ }
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 22
+ return uint64(0)
+__1:
+ ;
+__2:
+ if !(__isspace(tls, AssignInt32(&c, func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }())) != 0) {
+ goto __3
+ }
+ goto __2
+__3:
+ ;
+ if !((c == '+') || (c == '-')) {
+ goto __4
+ }
+ neg = -(Bool32(c == '-'))
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+__4:
+ ;
+ if !(((base == uint32(0)) || (base == uint32(16))) && (c == '0')) {
+ goto __5
+ }
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ if !((c | 32) == 'x') {
+ goto __7
+ }
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ if !(int32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) >= 16) {
+ goto __9
+ }
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if !(pok != 0) {
+ goto __10
+ }
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ goto __11
+__10:
+ X__shlim(tls, f, int64(0))
+__11:
+ ;
+ return uint64(0)
+__9:
+ ;
+ base = uint32(16)
+ goto __8
+__7:
+ if !(base == uint32(0)) {
+ goto __12
+ }
+ base = uint32(8)
+__12:
+ ;
+__8:
+ ;
+ goto __6
+__5:
+ if !(base == uint32(0)) {
+ goto __13
+ }
+ base = uint32(10)
+__13:
+ ;
+ if !(uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) >= base) {
+ goto __14
+ }
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ X__shlim(tls, f, int64(0))
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 22
+ return uint64(0)
+__14:
+ ;
+__6:
+ ;
+ if !(base == uint32(10)) {
+ goto __15
+ }
+ x = uint32(0)
+__17:
+ if !(((uint32(c - '0')) < 10) && (x <= ((0xffffffff / uint32(10)) - uint32(1)))) {
+ goto __19
+ }
+ x = ((x * uint32(10)) + (uint32(c - '0')))
+ goto __18
+__18:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __17
+ goto __19
+__19:
+ ;
+ y = uint64(x)
+__20:
+ if !((((uint32(c - '0')) < 10) && (y <= (((2 * uint64(0x7fffffffffffffff)) + uint64(1)) / uint64(10)))) && ((uint64(10) * y) <= (((2 * uint64(0x7fffffffffffffff)) + uint64(1)) - (uint64(c - '0'))))) {
+ goto __22
+ }
+ y = ((y * uint64(10)) + (uint64(c - '0')))
+ goto __21
+__21:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __20
+ goto __22
+__22:
+ ;
+ if !((uint32(c - '0')) >= 10) {
+ goto __23
+ }
+ goto done
+__23:
+ ;
+ goto __16
+__15:
+ if !(!((base & (base - uint32(1))) != 0)) {
+ goto __24
+ }
+ bs = int32(*(*int8)(unsafe.Pointer(ts + 14 /* "\x00\x01\x02\x04\a\x03\x06\x05" */ + uintptr((((uint32(0x17) * base) >> 5) & uint32(7))))))
+ x = uint32(0)
+__26:
+ if !((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (x <= (0xffffffff / uint32(32)))) {
+ goto __28
+ }
+ x = ((x << bs) | uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))))
+ goto __27
+__27:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __26
+ goto __28
+__28:
+ ;
+ y = uint64(x)
+__29:
+ if !((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (y <= (uint64(((2 * uint64(0x7fffffffffffffff)) + uint64(1))) >> bs))) {
+ goto __31
+ }
+ y = ((y << bs) | uint64(*(*uint8)(unsafe.Pointer(val + uintptr(c)))))
+ goto __30
+__30:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __29
+ goto __31
+__31:
+ ;
+ goto __25
+__24:
+ x = uint32(0)
+__32:
+ if !((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (x <= ((0xffffffff / uint32(36)) - uint32(1)))) {
+ goto __34
+ }
+ x = ((x * base) + uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))))
+ goto __33
+__33:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __32
+ goto __34
+__34:
+ ;
+ y = uint64(x)
+__35:
+ if !(((uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) && (y <= (((2 * uint64(0x7fffffffffffffff)) + uint64(1)) / uint64(base)))) && ((uint64(base) * y) <= (((2 * uint64(0x7fffffffffffffff)) + uint64(1)) - uint64(*(*uint8)(unsafe.Pointer(val + uintptr(c))))))) {
+ goto __37
+ }
+ y = ((y * uint64(base)) + uint64(*(*uint8)(unsafe.Pointer(val + uintptr(c)))))
+ goto __36
+__36:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __35
+ goto __37
+__37:
+ ;
+__25:
+ ;
+__16:
+ ;
+ if !(uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) {
+ goto __38
+ }
+__39:
+ if !(uint32(*(*uint8)(unsafe.Pointer(val + uintptr(c)))) < base) {
+ goto __41
+ }
+ goto __40
+__40:
+ c = func() int32 {
+ if (*FILE1)(unsafe.Pointer((f))).rpos != (*FILE1)(unsafe.Pointer((f))).shend {
+ return int32(*(*uint8)(unsafe.Pointer(PostIncUintptr(&(*FILE1)(unsafe.Pointer(f)).rpos, 1))))
+ }
+ return X__shgetc(tls, f)
+ }()
+ goto __39
+ goto __41
+__41:
+ ;
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ y = lim
+ if !((lim & uint64(1)) != 0) {
+ goto __42
+ }
+ neg = 0
+__42:
+ ;
+__38:
+ ;
+done:
+ if (*FILE1)(unsafe.Pointer((f))).shlim >= int64(0) {
+ (*FILE1)(unsafe.Pointer(f)).rpos--
+ } else {
+ }
+ if !(y >= lim) {
+ goto __43
+ }
+ if !(!((lim & uint64(1)) != 0) && !(neg != 0)) {
+ goto __44
+ }
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ return (lim - uint64(1))
+ goto __45
+__44:
+ if !(y > lim) {
+ goto __46
+ }
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 34
+ return lim
+__46:
+ ;
+__45:
+ ;
+__43:
+ ;
+ return ((y ^ uint64(neg)) - uint64(neg))
+}
+
+// The shcnt field stores the number of bytes read so far, offset by
+// the value of buf-rpos at the last function call (__shlim or __shgetc),
+// so that between calls the inline shcnt macro can add rpos-buf to get
+// the actual count.
+
+func X__shlim(tls *TLS, f uintptr, lim off_t) { /* shgetc.c:8:6: */
+ (*FILE1)(unsafe.Pointer(f)).shlim = lim
+ (*FILE1)(unsafe.Pointer(f)).shcnt = ((int64((*FILE1)(unsafe.Pointer(f)).buf) - int64((*FILE1)(unsafe.Pointer(f)).rpos)) / 1)
+ // If lim is nonzero, rend must be a valid pointer.
+ if (lim != 0) && (((int64((*FILE1)(unsafe.Pointer(f)).rend) - int64((*FILE1)(unsafe.Pointer(f)).rpos)) / 1) > lim) {
+ (*FILE1)(unsafe.Pointer(f)).shend = ((*FILE1)(unsafe.Pointer(f)).rpos + uintptr(lim))
+ } else {
+ (*FILE1)(unsafe.Pointer(f)).shend = (*FILE1)(unsafe.Pointer(f)).rend
+ }
+}
+
+func X__shgetc(tls *TLS, f uintptr) int32 { /* shgetc.c:19:5: */
+ var c int32
+ var cnt off_t = ((*FILE1)(unsafe.Pointer((f))).shcnt + ((int64((*FILE1)(unsafe.Pointer((f))).rpos) - int64((*FILE1)(unsafe.Pointer((f))).buf)) / 1))
+ if (((*FILE1)(unsafe.Pointer(f)).shlim != 0) && (cnt >= (*FILE1)(unsafe.Pointer(f)).shlim)) || ((AssignInt32(&c, X__uflow(tls, f))) < 0) {
+ (*FILE1)(unsafe.Pointer(f)).shcnt = (((int64((*FILE1)(unsafe.Pointer(f)).buf) - int64((*FILE1)(unsafe.Pointer(f)).rpos)) / 1) + cnt)
+ (*FILE1)(unsafe.Pointer(f)).shend = (*FILE1)(unsafe.Pointer(f)).rpos
+ (*FILE1)(unsafe.Pointer(f)).shlim = int64(-1)
+ return -1
+ }
+ cnt++
+ if ((*FILE1)(unsafe.Pointer(f)).shlim != 0) && (((int64((*FILE1)(unsafe.Pointer(f)).rend) - int64((*FILE1)(unsafe.Pointer(f)).rpos)) / 1) > ((*FILE1)(unsafe.Pointer(f)).shlim - cnt)) {
+ (*FILE1)(unsafe.Pointer(f)).shend = ((*FILE1)(unsafe.Pointer(f)).rpos + uintptr(((*FILE1)(unsafe.Pointer(f)).shlim - cnt)))
+ } else {
+ (*FILE1)(unsafe.Pointer(f)).shend = (*FILE1)(unsafe.Pointer(f)).rend
+ }
+ (*FILE1)(unsafe.Pointer(f)).shcnt = (((int64((*FILE1)(unsafe.Pointer(f)).buf) - int64((*FILE1)(unsafe.Pointer(f)).rpos)) / 1) + cnt)
+ if (*FILE1)(unsafe.Pointer(f)).rpos <= (*FILE1)(unsafe.Pointer(f)).buf {
+ *(*uint8)(unsafe.Pointer((*FILE1)(unsafe.Pointer(f)).rpos + UintptrFromInt32(-1))) = uint8(c)
+ }
+ return c
+}
+
+func __bswap32(tls *TLS, __x uint32_t) uint32_t { /* endian.h:24:26: */
+ return ((((__x >> 24) | ((__x >> 8) & uint32_t(0xff00))) | ((__x << 8) & uint32_t(0xff0000))) | (__x << 24))
+}
+
+func Xcopysignl(tls *TLS, x float64, y float64) float64 { /* copysignl.c:4:13: */
+ return Xcopysign(tls, x, y)
+}
+
+func Xfabsl(tls *TLS, x float64) float64 { /* fabsl.c:3:13: */
+ return Xfabs(tls, x)
+}
+
+func Xfmodl(tls *TLS, x float64, y float64) float64 { /* fmodl.c:4:13: */
+ return Xfmod(tls, x, y)
+}
+
+var toint double_t = (float64(float64(1)) / 2.22044604925031308085e-16) /* rint.c:10:23 */
+
+func Xrint(tls *TLS, x float64) float64 { /* rint.c:12:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ *(*struct{ f float64 })(unsafe.Pointer(bp /* u */)) = func() (r struct{ f float64 }) {
+ *(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = x
+ return r
+ }()
+ var e int32 = (int32((*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 52) & uint64(0x7ff)))
+ var s int32 = (int32(*(*uint64_t)(unsafe.Pointer(bp /* &u */)) >> 63))
+ var y double_t
+
+ if e >= (0x3ff + 52) {
+ return x
+ }
+ if s != 0 {
+ y = ((x - toint) + toint)
+ } else {
+ y = ((x + toint) - toint)
+ }
+ if y == float64(0) {
+ if s != 0 {
+ return -Float64FromFloat64(0.0)
+ }
+ return float64(0)
+ }
+ return y
+}
+
+func Xscalbn(tls *TLS, x float64, n int32) float64 { /* scalbn.c:4:8: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ // var u struct {f float64;} at bp, 8
+
+ var y double_t = x
+
+ if n > 1023 {
+ y = y * (0x1p1023)
+ n = n - (1023)
+ if n > 1023 {
+ y = y * (0x1p1023)
+ n = n - (1023)
+ if n > 1023 {
+ n = 1023
+ }
+ }
+ } else if n < -1022 {
+ // make sure final n < -53 to avoid double
+ // rounding in the subnormal range
+ y = y * (float64(0x1p-1022) * 0x1p53)
+ n = n + (1022 - 53)
+ if n < -1022 {
+ y = y * (float64(0x1p-1022) * 0x1p53)
+ n = n + (1022 - 53)
+ if n < -1022 {
+ n = -1022
+ }
+ }
+ }
+ *(*uint64_t)(unsafe.Pointer(bp /* &u */)) = ((uint64_t(0x3ff + n)) << 52)
+ x = (y * *(*float64)(unsafe.Pointer(bp /* &u */)))
+ return x
+}
+
+func Xscalbnl(tls *TLS, x float64, n int32) float64 { /* scalbnl.c:4:13: */
+ return Xscalbn(tls, x, n)
+}
+
+type div_t = struct {
+ quot int32
+ rem int32
+} /* stdlib.h:62:35 */
+type ldiv_t = struct {
+ quot int64
+ rem int64
+} /* stdlib.h:63:36 */
+type lldiv_t = struct {
+ quot int64
+ rem int64
+} /* stdlib.h:64:41 */
+
+type max_align_t = struct {
+ __ll int64
+ __ld float64
+} /* alltypes.h:41:54 */
+
+type imaxdiv_t = struct {
+ quot intmax_t
+ rem intmax_t
+} /* inttypes.h:14:40 */
+
+type pid_t = int32 /* alltypes.h:235:13 */
+
+type uid_t = uint32 /* alltypes.h:245:18 */
+
+type gid_t = uint32 /* alltypes.h:250:18 */
+
+type iovec = struct {
+ iov_base uintptr
+ iov_len size_t
+} /* alltypes.h:355:1 */
+
+type socklen_t = uint32 /* alltypes.h:361:18 */
+
+type sa_family_t = uint16 /* alltypes.h:366:24 */
+
+type msghdr = struct {
+ msg_name uintptr
+ msg_namelen socklen_t
+ _ [4]byte
+ msg_iov uintptr
+ msg_iovlen int32
+ __pad1 int32
+ msg_control uintptr
+ msg_controllen socklen_t
+ __pad2 int32
+ msg_flags int32
+ _ [4]byte
+} /* socket.h:22:1 */
+
+type cmsghdr = struct {
+ cmsg_len socklen_t
+ __pad1 int32
+ cmsg_level int32
+ cmsg_type int32
+} /* socket.h:44:1 */
+
+type linger = struct {
+ l_onoff int32
+ l_linger int32
+} /* socket.h:74:1 */
+
+type sockaddr = struct {
+ sa_family sa_family_t
+ sa_data [14]int8
+} /* socket.h:367:1 */
+
+type sockaddr_storage = struct {
+ ss_family sa_family_t
+ __ss_padding [118]int8
+ __ss_align uint64
+} /* socket.h:372:1 */
+
+type in_port_t = uint16_t /* in.h:12:18 */
+type in_addr_t = uint32_t /* in.h:13:18 */
+type in_addr = struct{ s_addr in_addr_t } /* in.h:14:1 */
+
+type sockaddr_in = struct {
+ sin_family sa_family_t
+ sin_port in_port_t
+ sin_addr struct{ s_addr in_addr_t }
+ sin_zero [8]uint8_t
+} /* in.h:16:1 */
+
+type in6_addr = struct {
+ __in6_union struct {
+ _ [0]uint32
+ __s6_addr [16]uint8_t
+ }
+} /* in.h:23:1 */
+
+type sockaddr_in6 = struct {
+ sin6_family sa_family_t
+ sin6_port in_port_t
+ sin6_flowinfo uint32_t
+ sin6_addr struct {
+ __in6_union struct {
+ _ [0]uint32
+ __s6_addr [16]uint8_t
+ }
+ }
+ sin6_scope_id uint32_t
+} /* in.h:34:1 */
+
+type ipv6_mreq = struct {
+ ipv6mr_multiaddr struct {
+ __in6_union struct {
+ _ [0]uint32
+ __s6_addr [16]uint8_t
+ }
+ }
+ ipv6mr_interface uint32
+} /* in.h:42:1 */
+
+type ip_opts = struct {
+ ip_dst struct{ s_addr in_addr_t }
+ ip_opts [40]int8
+} /* in.h:229:1 */
+
+type ip_mreq = struct {
+ imr_multiaddr struct{ s_addr in_addr_t }
+ imr_interface struct{ s_addr in_addr_t }
+} /* in.h:247:1 */
+
+type ip_mreqn = struct {
+ imr_multiaddr struct{ s_addr in_addr_t }
+ imr_address struct{ s_addr in_addr_t }
+ imr_ifindex int32
+} /* in.h:252:1 */
+
+type ip_mreq_source = struct {
+ imr_multiaddr struct{ s_addr in_addr_t }
+ imr_interface struct{ s_addr in_addr_t }
+ imr_sourceaddr struct{ s_addr in_addr_t }
+} /* in.h:258:1 */
+
+type ip_msfilter = struct {
+ imsf_multiaddr struct{ s_addr in_addr_t }
+ imsf_interface struct{ s_addr in_addr_t }
+ imsf_fmode uint32_t
+ imsf_numsrc uint32_t
+ imsf_slist [1]struct{ s_addr in_addr_t }
+} /* in.h:264:1 */
+
+type group_req = struct {
+ gr_interface uint32_t
+ _ [4]byte
+ gr_group struct {
+ ss_family sa_family_t
+ __ss_padding [118]int8
+ __ss_align uint64
+ }
+} /* in.h:275:1 */
+
+type group_source_req = struct {
+ gsr_interface uint32_t
+ _ [4]byte
+ gsr_group struct {
+ ss_family sa_family_t
+ __ss_padding [118]int8
+ __ss_align uint64
+ }
+ gsr_source struct {
+ ss_family sa_family_t
+ __ss_padding [118]int8
+ __ss_align uint64
+ }
+} /* in.h:280:1 */
+
+type group_filter = struct {
+ gf_interface uint32_t
+ _ [4]byte
+ gf_group struct {
+ ss_family sa_family_t
+ __ss_padding [118]int8
+ __ss_align uint64
+ }
+ gf_fmode uint32_t
+ gf_numsrc uint32_t
+ gf_slist [1]struct {
+ ss_family sa_family_t
+ __ss_padding [118]int8
+ __ss_align uint64
+ }
+} /* in.h:286:1 */
+
+type in_pktinfo = struct {
+ ipi_ifindex int32
+ ipi_spec_dst struct{ s_addr in_addr_t }
+ ipi_addr struct{ s_addr in_addr_t }
+} /* in.h:297:1 */
+
+type in6_pktinfo = struct {
+ ipi6_addr struct {
+ __in6_union struct {
+ _ [0]uint32
+ __s6_addr [16]uint8_t
+ }
+ }
+ ipi6_ifindex uint32
+} /* in.h:303:1 */
+
+type ip6_mtuinfo = struct {
+ ip6m_addr struct {
+ sin6_family sa_family_t
+ sin6_port in_port_t
+ sin6_flowinfo uint32_t
+ sin6_addr struct {
+ __in6_union struct {
+ _ [0]uint32
+ __s6_addr [16]uint8_t
+ }
+ }
+ sin6_scope_id uint32_t
+ }
+ ip6m_mtu uint32_t
+} /* in.h:308:1 */
+
+type addrinfo = struct {
+ ai_flags int32
+ ai_family int32
+ ai_socktype int32
+ ai_protocol int32
+ ai_addrlen socklen_t
+ _ [4]byte
+ ai_addr uintptr
+ ai_canonname uintptr
+ ai_next uintptr
+} /* netdb.h:16:1 */
+
+// Legacy functions follow (marked OBsolete in SUS)
+
+type netent = struct {
+ n_name uintptr
+ n_aliases uintptr
+ n_addrtype int32
+ n_net uint32_t
+} /* netdb.h:62:1 */
+
+type hostent = struct {
+ h_name uintptr
+ h_aliases uintptr
+ h_addrtype int32
+ h_length int32
+ h_addr_list uintptr
+} /* netdb.h:69:1 */
+
+type servent = struct {
+ s_name uintptr
+ s_aliases uintptr
+ s_port int32
+ _ [4]byte
+ s_proto uintptr
+} /* netdb.h:78:1 */
+
+type protoent = struct {
+ p_name uintptr
+ p_aliases uintptr
+ p_proto int32
+ _ [4]byte
+} /* netdb.h:85:1 */
+
+type aibuf = struct {
+ ai struct {
+ ai_flags int32
+ ai_family int32
+ ai_socktype int32
+ ai_protocol int32
+ ai_addrlen socklen_t
+ _ [4]byte
+ ai_addr uintptr
+ ai_canonname uintptr
+ ai_next uintptr
+ }
+ sa struct {
+ sin struct {
+ sin_family sa_family_t
+ sin_port in_port_t
+ sin_addr struct{ s_addr in_addr_t }
+ sin_zero [8]uint8_t
+ }
+ _ [12]byte
+ }
+ lock [1]int32
+ slot int16
+ ref int16
+ _ [4]byte
+} /* lookup.h:10:1 */
+
+type sa = struct {
+ sin struct {
+ sin_family sa_family_t
+ sin_port in_port_t
+ sin_addr struct{ s_addr in_addr_t }
+ sin_zero [8]uint8_t
+ }
+ _ [12]byte
+} /* lookup.h:10:1 */
+
+type address = struct {
+ family int32
+ scopeid uint32
+ addr [16]uint8_t
+ sortkey int32
+} /* lookup.h:20:1 */
+
+type service = struct {
+ port uint16_t
+ proto uint8
+ socktype uint8
+} /* lookup.h:27:1 */
+
+type resolvconf = struct {
+ ns [3]struct {
+ family int32
+ scopeid uint32
+ addr [16]uint8_t
+ sortkey int32
+ }
+ nns uint32
+ attempts uint32
+ ndots uint32
+ timeout uint32
+} /* lookup.h:34:1 */
+
+func Xfreeaddrinfo(tls *TLS, p uintptr) { /* freeaddrinfo.c:7:6: */
+ var cnt size_t
+ cnt = uint64(1)
+__1:
+ if !((*addrinfo)(unsafe.Pointer(p)).ai_next != 0) {
+ goto __3
+ }
+ goto __2
+__2:
+ cnt++
+ p = (*addrinfo)(unsafe.Pointer(p)).ai_next
+ goto __1
+ goto __3
+__3:
+ ;
+ var b uintptr = (p - uintptr((uint64((uintptr(0) /* &.ai */)))))
+ b -= 88 * (uintptr((*aibuf)(unsafe.Pointer(b)).slot))
+ //TODO LOCK(b->lock);
+ if !(int32(AssignSubPtrInt16(b+82 /* &.ref */, int16(cnt))) != 0) {
+ Xfree(tls, b)
+ }
+ //TODO else UNLOCK(b->lock);
+}
+
+type time_t = int64 /* alltypes.h:85:16 */
+
+type clockid_t = int32 /* alltypes.h:214:13 */
+
+type timespec = struct {
+ tv_sec time_t
+ tv_nsec int64
+} /* alltypes.h:229:1 */
+
+type pthread_t = uintptr /* alltypes.h:273:26 */
+
+type pthread_once_t = int32 /* alltypes.h:279:13 */
+
+type pthread_key_t = uint32 /* alltypes.h:284:18 */
+
+type pthread_spinlock_t = int32 /* alltypes.h:289:13 */
+
+type pthread_mutexattr_t = struct{ __attr uint32 } /* alltypes.h:294:37 */
+
+type pthread_condattr_t = struct{ __attr uint32 } /* alltypes.h:299:37 */
+
+type pthread_barrierattr_t = struct{ __attr uint32 } /* alltypes.h:304:37 */
+
+type pthread_rwlockattr_t = struct{ __attr [2]uint32 } /* alltypes.h:309:40 */
+
+type __sigset_t = struct{ __bits [16]uint64 } /* alltypes.h:349:9 */
+
+type sigset_t = __sigset_t /* alltypes.h:349:71 */
+
+type pthread_attr_t = struct {
+ __u struct {
+ _ [0]uint64
+ __i [14]int32
+ }
+} /* alltypes.h:372:147 */
+
+type pthread_mutex_t = struct {
+ __u struct {
+ _ [0]uint64
+ __i [10]int32
+ }
+} /* alltypes.h:377:157 */
+
+type pthread_cond_t = struct {
+ __u struct {
+ _ [0]uint64
+ __i [12]int32
+ }
+} /* alltypes.h:387:112 */
+
+type pthread_rwlock_t = struct {
+ __u struct {
+ _ [0]uint64
+ __i [14]int32
+ }
+} /* alltypes.h:397:139 */
+
+type pthread_barrier_t = struct {
+ __u struct {
+ _ [0]uint64
+ __i [8]int32
+ }
+} /* alltypes.h:402:137 */
+
+type sched_param = struct {
+ sched_priority int32
+ __reserved1 int32
+ __reserved2 [2]struct {
+ __reserved1 time_t
+ __reserved2 int64
+ }
+ __reserved3 int32
+ _ [4]byte
+} /* sched.h:19:1 */
+
+type timer_t = uintptr /* alltypes.h:209:14 */
+
+type clock_t = int64 /* alltypes.h:219:14 */
+
+type tm = struct {
+ tm_sec int32
+ tm_min int32
+ tm_hour int32
+ tm_mday int32
+ tm_mon int32
+ tm_year int32
+ tm_wday int32
+ tm_yday int32
+ tm_isdst int32
+ _ [4]byte
+ tm_gmtoff int64
+ tm_zone uintptr
+} /* time.h:38:1 */
+
+type itimerspec = struct {
+ it_interval struct {
+ tv_sec time_t
+ tv_nsec int64
+ }
+ it_value struct {
+ tv_sec time_t
+ tv_nsec int64
+ }
+} /* time.h:80:1 */
+
+type __ptcb = struct {
+ __f uintptr
+ __x uintptr
+ __next uintptr
+} /* pthread.h:206:1 */
+
+type useconds_t = uint32 /* alltypes.h:260:18 */
+
+func Xgetaddrinfo(tls *TLS, host uintptr, serv uintptr, hint uintptr, res uintptr) int32 { /* getaddrinfo.c:12:5: */
+ bp := tls.Alloc(1608)
+ defer tls.Free(1608)
+
+ // var ports [2]service at bp, 8
+
+ // var addrs [48]address at bp+8, 1344
+
+ // var canon [256]int8 at bp+1352, 256
+
+ var outcanon uintptr
+ var nservs int32
+ var naddrs int32
+ var nais int32
+ var canon_len int32
+ var i int32
+ var j int32
+ var k int32
+ var family int32 = 0
+ var flags int32 = 0
+ var proto int32 = 0
+ var socktype int32 = 0
+ var out uintptr
+
+ if !(host != 0) && !(serv != 0) {
+ return -2
+ }
+
+ if hint != 0 {
+ family = (*addrinfo)(unsafe.Pointer(hint)).ai_family
+ flags = (*addrinfo)(unsafe.Pointer(hint)).ai_flags
+ proto = (*addrinfo)(unsafe.Pointer(hint)).ai_protocol
+ socktype = (*addrinfo)(unsafe.Pointer(hint)).ai_socktype
+
+ var mask int32 = ((((((0x01 | 0x02) | 0x04) | 0x08) | 0x10) | 0x20) | 0x400)
+ if (flags & mask) != flags {
+ return -1
+ }
+
+ switch family {
+ case 2:
+ fallthrough
+ case 10:
+ fallthrough
+ case 0:
+ break
+ fallthrough
+ default:
+ return -6
+ }
+ }
+
+ if (flags & 0x20) != 0 {
+ Xabort(tls) //TODO-
+ // /* Define the "an address is configured" condition for address
+ // * families via ability to create a socket for the family plus
+ // * routability of the loopback address for the family. */
+ // static const struct sockaddr_in lo4 = {
+ // .sin_family = AF_INET, .sin_port = 65535,
+ // .sin_addr.s_addr = __BYTE_ORDER == __BIG_ENDIAN
+ // ? 0x7f000001 : 0x0100007f
+ // };
+ // static const struct sockaddr_in6 lo6 = {
+ // .sin6_family = AF_INET6, .sin6_port = 65535,
+ // .sin6_addr = IN6ADDR_LOOPBACK_INIT
+ // };
+ // int tf[2] = { AF_INET, AF_INET6 };
+ // const void *ta[2] = { &lo4, &lo6 };
+ // socklen_t tl[2] = { sizeof lo4, sizeof lo6 };
+ // for (i=0; i<2; i++) {
+ // if (family==tf[1-i]) continue;
+ // int s = socket(tf[i], SOCK_CLOEXEC|SOCK_DGRAM,
+ // IPPROTO_UDP);
+ // if (s>=0) {
+ // int cs;
+ // pthread_setcancelstate(
+ // PTHREAD_CANCEL_DISABLE, &cs);
+ // int r = connect(s, ta[i], tl[i]);
+ // pthread_setcancelstate(cs, 0);
+ // close(s);
+ // if (!r) continue;
+ // }
+ // switch (errno) {
+ // case EADDRNOTAVAIL:
+ // case EAFNOSUPPORT:
+ // case EHOSTUNREACH:
+ // case ENETDOWN:
+ // case ENETUNREACH:
+ // break;
+ // default:
+ // return EAI_SYSTEM;
+ // }
+ // if (family == tf[i]) return EAI_NONAME;
+ // family = tf[1-i];
+ // }
+ }
+
+ nservs = X__lookup_serv(tls, bp /* &ports[0] */, serv, proto, socktype, flags)
+ if nservs < 0 {
+ return nservs
+ }
+
+ naddrs = X__lookup_name(tls, bp+8 /* &addrs[0] */, bp+1352 /* &canon[0] */, host, family, flags)
+ if naddrs < 0 {
+ return naddrs
+ }
+
+ nais = (nservs * naddrs)
+ canon_len = int32(Xstrlen(tls, bp+1352 /* &canon[0] */))
+ out = Xcalloc(tls, uint64(1), (((uint64(nais) * uint64(unsafe.Sizeof(aibuf{}))) + uint64(canon_len)) + uint64(1)))
+ if !(out != 0) {
+ return -10
+ }
+
+ if canon_len != 0 {
+ outcanon = (out + uintptr(nais)*88)
+ Xmemcpy(tls, outcanon, bp+1352 /* &canon[0] */, (uint64(canon_len + 1)))
+ } else {
+ outcanon = uintptr(0)
+ }
+
+ for k = AssignInt32(&i, 0); i < naddrs; i++ {
+ j = 0
+ __1:
+ if !(j < nservs) {
+ goto __3
+ }
+ {
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).slot = int16(k)
+ //TODO out[k].ai = (struct addrinfo){
+ //TODO .ai_family = addrs[i].family,
+ //TODO .ai_socktype = ports[j].socktype,
+ //TODO .ai_protocol = ports[j].proto,
+ //TODO .ai_addrlen = addrs[i].family == AF_INET
+ //TODO ? sizeof(struct sockaddr_in)
+ //TODO : sizeof(struct sockaddr_in6),
+ //TODO .ai_addr = (void *)&out[k].sa,
+ //TODO .ai_canonname = outcanon };
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).ai.ai_family = (*address)(unsafe.Pointer(bp + 8 /* &addrs */ + uintptr(i)*28)).family
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).ai.ai_socktype = int32((*service)(unsafe.Pointer(bp /* &ports */ + uintptr(j)*4)).socktype)
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).ai.ai_protocol = int32((*service)(unsafe.Pointer(bp /* &ports */ + uintptr(j)*4)).proto)
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).ai.ai_addrlen = func() uint32 {
+ if (*address)(unsafe.Pointer(bp+8 /* &addrs */ +uintptr(i)*28)).family == 2 {
+ return uint32(unsafe.Sizeof(sockaddr_in{}))
+ }
+ return uint32(unsafe.Sizeof(sockaddr_in6{}))
+ }()
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).ai.ai_addr = (out + uintptr(k)*88 + 48 /* &.sa */)
+ (*aibuf)(unsafe.Pointer(out + uintptr(k)*88)).ai.ai_canonname = outcanon
+ if k != 0 {
+ (*aibuf)(unsafe.Pointer(out + uintptr((k-1))*88)).ai.ai_next = (out + uintptr(k)*88 /* &.ai */)
+ }
+ switch (*address)(unsafe.Pointer(bp + 8 /* &addrs */ + uintptr(i)*28)).family {
+ case 2:
+ (*sockaddr_in)(unsafe.Pointer(out + uintptr(k)*88 + 48 /* &.sa */)).sin_family = sa_family_t(2)
+ (*sockaddr_in)(unsafe.Pointer(out + uintptr(k)*88 + 48 /* &.sa */)).sin_port = Xhtons(tls, (*service)(unsafe.Pointer(bp /* &ports */ +uintptr(j)*4)).port)
+ Xmemcpy(tls, (out + uintptr(k)*88 + 48 /* &.sa */ /* &.sin */ + 4 /* &.sin_addr */), (bp + 8 /* &addrs */ + uintptr(i)*28 + 8 /* &.addr */), uint64(4))
+ break
+ case 10:
+ (*sockaddr_in6)(unsafe.Pointer(out + uintptr(k)*88 + 48 /* &.sa */)).sin6_family = sa_family_t(10)
+ (*sockaddr_in6)(unsafe.Pointer(out + uintptr(k)*88 + 48 /* &.sa */)).sin6_port = Xhtons(tls, (*service)(unsafe.Pointer(bp /* &ports */ +uintptr(j)*4)).port)
+ (*sockaddr_in6)(unsafe.Pointer(out + uintptr(k)*88 + 48 /* &.sa */)).sin6_scope_id = (*address)(unsafe.Pointer(bp + 8 /* &addrs */ + uintptr(i)*28)).scopeid
+ Xmemcpy(tls, (out + uintptr(k)*88 + 48 /* &.sa */ /* &.sin6 */ + 8 /* &.sin6_addr */), (bp + 8 /* &addrs */ + uintptr(i)*28 + 8 /* &.addr */), uint64(16))
+ break
+ }
+
+ }
+ goto __2
+ __2:
+ j++
+ k++
+ goto __1
+ goto __3
+ __3:
+ }
+ (*aibuf)(unsafe.Pointer(out)).ref = int16(nais)
+ *(*uintptr)(unsafe.Pointer(res)) = (out /* &.ai */)
+ return 0
+}
+
+type ucred = struct {
+ pid pid_t
+ uid uid_t
+ gid gid_t
+} /* socket.h:57:1 */
+
+type mmsghdr = struct {
+ msg_hdr struct {
+ msg_name uintptr
+ msg_namelen socklen_t
+ _ [4]byte
+ msg_iov uintptr
+ msg_iovlen int32
+ __pad1 int32
+ msg_control uintptr
+ msg_controllen socklen_t
+ __pad2 int32
+ msg_flags int32
+ _ [4]byte
+ }
+ msg_len uint32
+ _ [4]byte
+} /* socket.h:63:1 */
+
+func Xgethostbyaddr(tls *TLS, a uintptr, l socklen_t, af int32) uintptr { /* gethostbyaddr.c:7:16: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ var size size_t = uint64(63)
+ // var res uintptr at bp, 8
+
+ var err int32
+ for ok := true; ok; ok = (err == 34) {
+ Xfree(tls, _sh)
+ _sh = Xmalloc(tls, AssignAddUint64(&size, (size+uint64(1))))
+ if !(_sh != 0) {
+ (*(*int32)(unsafe.Pointer(X__h_errno_location(tls)))) = 3
+ return uintptr(0)
+ }
+ err = Xgethostbyaddr_r(tls, a, l, af, _sh,
+ (_sh + uintptr(1)*32), (size - size_t(unsafe.Sizeof(hostent{}))), bp /* &res */, X__h_errno_location(tls))
+ }
+ if err != 0 {
+ return uintptr(0)
+ }
+ return _sh
+}
+
+var _sh uintptr /* gethostbyaddr.c:9:24: */
+
+func Xgethostbyname(tls *TLS, name uintptr) uintptr { /* gethostbyname.c:8:16: */
+ return Xgethostbyname2(tls, name, 2)
+}
+
+func Xgethostbyname2(tls *TLS, name uintptr, af int32) uintptr { /* gethostbyname2.c:8:16: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ var size size_t = uint64(63)
+ // var res uintptr at bp, 8
+
+ var err int32
+ for ok := true; ok; ok = (err == 34) {
+ Xfree(tls, _sh1)
+ _sh1 = Xmalloc(tls, AssignAddUint64(&size, (size+uint64(1))))
+ if !(_sh1 != 0) {
+ (*(*int32)(unsafe.Pointer(X__h_errno_location(tls)))) = 3
+ return uintptr(0)
+ }
+ err = Xgethostbyname2_r(tls, name, af, _sh1,
+ (_sh1 + uintptr(1)*32), (size - size_t(unsafe.Sizeof(hostent{}))), bp /* &res */, X__h_errno_location(tls))
+ }
+ if err != 0 {
+ return uintptr(0)
+ }
+ return _sh1
+}
+
+var _sh1 uintptr /* gethostbyname2.c:10:24: */
+
+func Xgethostbyname2_r(tls *TLS, name uintptr, af int32, h uintptr, buf uintptr, buflen size_t, res uintptr, err uintptr) int32 { /* gethostbyname2_r.c:11:5: */
+ bp := tls.Alloc(1600)
+ defer tls.Free(1600)
+
+ // var addrs [48]address at bp, 1344
+
+ // var canon [256]int8 at bp+1344, 256
+
+ var i int32
+ var cnt int32
+ var align size_t
+ var need size_t
+
+ *(*uintptr)(unsafe.Pointer(res)) = uintptr(0)
+ cnt = X__lookup_name(tls, bp /* &addrs[0] */, bp+1344 /* &canon[0] */, name, af, 0x02)
+ if cnt < 0 {
+ switch cnt {
+ case -2:
+ *(*int32)(unsafe.Pointer(err)) = 1
+ return 2
+ fallthrough
+ case -3:
+ *(*int32)(unsafe.Pointer(err)) = 2
+ return 11
+ fallthrough
+ default:
+ fallthrough
+ case -4:
+ *(*int32)(unsafe.Pointer(err)) = 3
+ return 74
+ fallthrough
+ case -10:
+ fallthrough
+ case -11:
+ *(*int32)(unsafe.Pointer(err)) = 3
+ return *(*int32)(unsafe.Pointer(X___errno_location(tls)))
+ }
+ }
+
+ (*hostent)(unsafe.Pointer(h)).h_addrtype = af
+ (*hostent)(unsafe.Pointer(h)).h_length = func() int32 {
+ if af == 10 {
+ return 16
+ }
+ return 4
+ }()
+
+ // Align buffer
+ align = (-uintptr_t(buf) & (uint64(unsafe.Sizeof(uintptr(0))) - uint64(1)))
+
+ need = (uint64(4) * uint64(unsafe.Sizeof(uintptr(0))))
+ need = need + ((uint64(cnt + 1)) * (uint64(unsafe.Sizeof(uintptr(0))) + uint64((*hostent)(unsafe.Pointer(h)).h_length)))
+ need = need + (Xstrlen(tls, name) + uint64(1))
+ need = need + (Xstrlen(tls, bp+1344 /* &canon[0] */) + uint64(1))
+ need = need + (align)
+
+ if need > buflen {
+ return 34
+ }
+
+ buf += uintptr(align)
+ (*hostent)(unsafe.Pointer(h)).h_aliases = buf
+ buf += (uintptr(uint64(3) * uint64(unsafe.Sizeof(uintptr(0)))))
+ (*hostent)(unsafe.Pointer(h)).h_addr_list = buf
+ buf += (uintptr((uint64(cnt + 1)) * uint64(unsafe.Sizeof(uintptr(0)))))
+
+ for i = 0; i < cnt; i++ {
+ *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list + uintptr(i)*8)) = buf
+ buf += uintptr((*hostent)(unsafe.Pointer(h)).h_length)
+ Xmemcpy(tls, *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list + uintptr(i)*8)), bp /* &addrs */ +uintptr(i)*28+8 /* &.addr */, uint64((*hostent)(unsafe.Pointer(h)).h_length))
+ }
+ *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list + uintptr(i)*8)) = uintptr(0)
+
+ (*hostent)(unsafe.Pointer(h)).h_name = AssignPtrUintptr((*hostent)(unsafe.Pointer(h)).h_aliases, buf)
+ Xstrcpy(tls, (*hostent)(unsafe.Pointer(h)).h_name, bp+1344 /* &canon[0] */)
+ buf += (uintptr(Xstrlen(tls, (*hostent)(unsafe.Pointer(h)).h_name) + uint64(1)))
+
+ if Xstrcmp(tls, (*hostent)(unsafe.Pointer(h)).h_name, name) != 0 {
+ *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 1*8)) = buf
+ Xstrcpy(tls, *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 1*8)), name)
+ buf += (uintptr(Xstrlen(tls, *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 1*8))) + uint64(1)))
+ } else {
+ *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 1*8)) = uintptr(0)
+ }
+
+ *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 2*8)) = uintptr(0)
+
+ *(*uintptr)(unsafe.Pointer(res)) = h
+ return 0
+}
+
+type if_nameindex = struct {
+ if_index uint32
+ _ [4]byte
+ if_name uintptr
+} /* if.h:12:1 */
+
+type ifaddr = struct {
+ ifa_addr struct {
+ sa_family sa_family_t
+ sa_data [14]int8
+ }
+ ifa_ifu struct {
+ ifu_broadaddr struct {
+ sa_family sa_family_t
+ sa_data [14]int8
+ }
+ }
+ ifa_ifp uintptr
+ ifa_next uintptr
+} /* if.h:51:1 */
+
+type ifmap = struct {
+ mem_start uint64
+ mem_end uint64
+ base_addr uint16
+ irq uint8
+ dma uint8
+ port uint8
+ _ [3]byte
+} /* if.h:64:1 */
+
+type ifreq = struct {
+ ifr_ifrn struct{ ifrn_name [16]int8 }
+ ifr_ifru struct {
+ _ [0]uint64
+ ifru_addr struct {
+ sa_family sa_family_t
+ sa_data [14]int8
+ }
+ _ [8]byte
+ }
+} /* if.h:76:1 */
+
+type ifconf = struct {
+ ifc_len int32
+ _ [4]byte
+ ifc_ifcu struct{ ifcu_buf uintptr }
+} /* if.h:116:1 */
+
+type ns_sect = uint32 /* nameser.h:37:3 */
+
+type __ns_msg = struct {
+ _msg uintptr
+ _eom uintptr
+ _id uint16_t
+ _flags uint16_t
+ _counts [4]uint16_t
+ _ [4]byte
+ _sections [4]uintptr
+ _sect ns_sect
+ _rrnum int32
+ _msg_ptr uintptr
+} /* nameser.h:39:9 */
+
+type ns_msg = __ns_msg /* nameser.h:46:3 */
+
+type _ns_flagdata = struct {
+ mask int32
+ shift int32
+} /* nameser.h:48:1 */
+
+type __ns_rr = struct {
+ name [1025]int8
+ _ [1]byte
+ __type uint16_t
+ rr_class uint16_t
+ _ [2]byte
+ ttl uint32_t
+ rdlength uint16_t
+ _ [2]byte
+ rdata uintptr
+} /* nameser.h:59:9 */
+
+type ns_rr = __ns_rr /* nameser.h:66:3 */
+
+type ns_flag = uint32 /* nameser.h:87:3 */
+
+type ns_opcode = uint32 /* nameser.h:96:3 */
+
+type ns_rcode = uint32 /* nameser.h:115:3 */
+
+type ns_update_operation = uint32 /* nameser.h:121:3 */
+
+type ns_tsig_key1 = struct {
+ name [1025]int8
+ alg [1025]int8
+ _ [6]byte
+ data uintptr
+ len int32
+ _ [4]byte
+} /* nameser.h:123:1 */
+
+type ns_tsig_key = ns_tsig_key1 /* nameser.h:128:28 */
+
+type ns_tcp_tsig_state1 = struct {
+ counter int32
+ _ [4]byte
+ key uintptr
+ ctx uintptr
+ sig [512]uint8
+ siglen int32
+ _ [4]byte
+} /* nameser.h:130:1 */
+
+type ns_tcp_tsig_state = ns_tcp_tsig_state1 /* nameser.h:137:34 */
+
+type ns_type = uint32 /* nameser.h:200:3 */
+
+type ns_class = uint32 /* nameser.h:219:3 */
+
+type ns_key_types = uint32 /* nameser.h:226:3 */
+
+type ns_cert_types = uint32 /* nameser.h:234:3 */
+
+type HEADER = struct {
+ _ [0]uint32
+ id uint32 /* unsigned id: 16, unsigned rd: 1, unsigned tc: 1, unsigned aa: 1, unsigned opcode: 4, unsigned qr: 1, unsigned rcode: 4, unsigned cd: 1, unsigned ad: 1, unsigned unused: 1, unsigned ra: 1 */
+ qdcount uint32 /* unsigned qdcount: 16, unsigned ancount: 16 */
+ nscount uint32 /* unsigned nscount: 16, unsigned arcount: 16 */
+} /* nameser.h:353:3 */
+
+// unused; purely for broken apps
+type __res_state = struct {
+ retrans int32
+ retry int32
+ options uint64
+ nscount int32
+ nsaddr_list [3]struct {
+ sin_family sa_family_t
+ sin_port in_port_t
+ sin_addr struct{ s_addr in_addr_t }
+ sin_zero [8]uint8_t
+ }
+ id uint16
+ _ [2]byte
+ dnsrch [7]uintptr
+ defdname [256]int8
+ pfcode uint64
+ ndots uint32 /* unsigned ndots: 4, unsigned nsort: 4, unsigned ipv6_unavail: 1, unsigned unused: 23 */
+ _ [4]byte
+ sort_list [10]struct {
+ addr struct{ s_addr in_addr_t }
+ mask uint32_t
+ }
+ qhook uintptr
+ rhook uintptr
+ res_h_errno int32
+ _vcsock int32
+ _flags uint32
+ _ [4]byte
+ _u struct {
+ _ [0]uint64
+ pad [52]int8
+ _ [4]byte
+ }
+} /* resolv.h:26:9 */
+
+// unused; purely for broken apps
+type res_state = uintptr /* resolv.h:62:3 */
+
+type res_sym = struct {
+ number int32
+ _ [4]byte
+ name uintptr
+ humanname uintptr
+} /* resolv.h:70:1 */
+
+func itoa(tls *TLS, p uintptr, x uint32) uintptr { /* getnameinfo.c:18:13: */
+ p += (uintptr(uint64(3) * uint64(unsafe.Sizeof(int32(0)))))
+ *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = int8(0)
+ for ok := true; ok; ok = x != 0 {
+ *(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = (int8(uint32('0') + (x % uint32(10))))
+ x = x / (uint32(10))
+ }
+ return p
+}
+
+func mkptr4(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:28:13: */
+ bp := tls.Alloc(32)
+ defer tls.Free(32)
+
+ Xsprintf(tls, s, ts+23, /* "%d.%d.%d.%d.in-a..." */
+ VaList(bp, int32(*(*uint8)(unsafe.Pointer(ip + 3))), int32(*(*uint8)(unsafe.Pointer(ip + 2))), int32(*(*uint8)(unsafe.Pointer(ip + 1))), int32(*(*uint8)(unsafe.Pointer(ip)))))
+}
+
+func mkptr6(tls *TLS, s uintptr, ip uintptr) { /* getnameinfo.c:34:13: */
+ var i int32
+ for i = 15; i >= 0; i-- {
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) & 15)]
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = _sxdigits[(int32(*(*uint8)(unsafe.Pointer(ip + uintptr(i)))) >> 4)]
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&s, 1))) = int8('.')
+ }
+ Xstrcpy(tls, s, ts+48 /* "ip6.arpa" */)
+}
+
+var _sxdigits = *(*[17]int8)(unsafe.Pointer(ts + 57 /* "0123456789abcdef" */)) /* getnameinfo.c:36:20 */
+
+func reverse_hosts(tls *TLS, buf uintptr, a uintptr, scopeid uint32, family int32) { /* getnameinfo.c:45:13: */
+ bp := tls.Alloc(556)
+ defer tls.Free(556)
+
+ // var line [512]int8 at bp+16, 512
+
+ var p uintptr
+ var z uintptr
+ var _buf [1032]uint8
+ _ = _buf
+ // var atmp [16]uint8 at bp, 16
+
+ // var iplit address at bp+528, 28
+
+ //TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
+ var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ if !(f != 0) {
+ return
+ }
+ if family == 2 {
+ Xmemcpy(tls, (bp /* &atmp[0] */ + uintptr(12)), a, uint64(4))
+ Xmemcpy(tls, bp /* &atmp[0] */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ a = bp /* &atmp[0] */
+ }
+ for Xfgets(tls, bp+16 /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0 {
+ if AssignUintptr(&p, Xstrchr(tls, bp+16 /* &line[0] */, '#')) != 0 {
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
+ *(*int8)(unsafe.Pointer(p)) = int8(0)
+ }
+
+ for p = bp + 16; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ }
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ if X__lookup_ipliteral(tls, bp+528 /* &iplit */, bp+16 /* &line[0] */, 0) <= 0 {
+ continue
+ }
+
+ if (*address)(unsafe.Pointer(bp+528 /* &iplit */)).family == 2 {
+ Xmemcpy(tls, ((bp + 528 /* &iplit */ + 8 /* &.addr */) + uintptr(12)), bp+528 /* &iplit */ +8 /* &.addr */, uint64(4))
+ Xmemcpy(tls, bp+528 /* &iplit */ +8 /* &.addr */, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ (*address)(unsafe.Pointer(bp + 528 /* &iplit */)).scopeid = uint32(0)
+ }
+
+ if (Xmemcmp(tls, a, bp+528 /* &iplit */ +8 /* &.addr */, uint64(16)) != 0) || ((*address)(unsafe.Pointer(bp+528 /* &iplit */)).scopeid != scopeid) {
+ continue
+ }
+
+ for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ }
+ for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ }
+ *(*int8)(unsafe.Pointer(z)) = int8(0)
+ if ((int64(z) - int64(p)) / 1) < int64(256) {
+ Xmemcpy(tls, buf, p, (uint64(((int64(z) - int64(p)) / 1) + int64(1))))
+ break
+ }
+ }
+ //TODO __fclose_ca(f);
+ Xfclose(tls, f)
+}
+
+func reverse_services(tls *TLS, buf uintptr, port int32, dgram int32) { /* getnameinfo.c:87:13: */
+ Xabort(tls) //TODO-
+ // unsigned long svport;
+ // char line[128], *p, *z;
+ // unsigned char _buf[1032];
+ // FILE _f, *f = __fopen_rb_ca("/etc/services", &_f, _buf, sizeof _buf);
+ // if (!f) return;
+ // while (fgets(line, sizeof line, f)) {
+ // if ((p=strchr(line, '#'))) *p++='\n', *p=0;
+
+ // for (p=line; *p && !isspace(*p); p++);
+ // if (!*p) continue;
+ // *p++ = 0;
+ // svport = strtoul(p, &z, 10);
+
+ // if (svport != port || z==p) continue;
+ // if (dgram && strncmp(z, "/udp", 4)) continue;
+ // if (!dgram && strncmp(z, "/tcp", 4)) continue;
+ // if (p-line > 32) continue;
+
+ // memcpy(buf, line, p-line);
+ // break;
+ // }
+ // __fclose_ca(f);
+}
+
+var Xh_errno int32 /* h_errno.c:4:5: */
+
+func X__h_errno_location(tls *TLS) uintptr { /* h_errno.c:6:5: */
+ return uintptr(unsafe.Pointer(&Xh_errno))
+}
+
+func X__inet_aton(tls *TLS, s0 uintptr, dest uintptr) int32 { /* inet_aton.c:7:5: */
+ bp := tls.Alloc(40)
+ defer tls.Free(40)
+
+ var s uintptr = s0
+ var d uintptr = dest
+ *(*[4]uint64)(unsafe.Pointer(bp /* a */)) = [4]uint64{0: uint64(0)}
+ // var z uintptr at bp+32, 8
+
+ var i int32
+
+ for i = 0; i < 4; i++ {
+ *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)) = Xstrtoul(tls, s, bp+32 /* &z */, 0)
+ if ((*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) == s) || ((*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)))) != 0) && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != '.'))) || !(func() int32 {
+ if 0 != 0 {
+ return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s))))
+ }
+ return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s)))) - uint32('0')) < uint32(10)))
+ }() != 0) {
+ return 0
+ }
+ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* z */))))) != 0) {
+ break
+ }
+ s = (*(*uintptr)(unsafe.Pointer(bp + 32 /* z */)) + uintptr(1))
+ }
+ if i == 4 {
+ return 0
+ }
+ switch i {
+ case 0:
+ *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 1*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */)) & uint64(0xffffff))
+ AssignShrPtrUint64(bp /* &a */, int(24))
+ fallthrough
+ case 1:
+ *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 2*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 1*8)) & uint64(0xffff))
+ AssignShrPtrUint64(bp /* &a */ +1*8, int(16))
+ fallthrough
+ case 2:
+ *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 3*8)) = (*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + 2*8)) & uint64(0xff))
+ AssignShrPtrUint64(bp /* &a */ +2*8, int(8))
+ }
+ for i = 0; i < 4; i++ {
+ if *(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)) > uint64(255) {
+ return 0
+ }
+ *(*uint8)(unsafe.Pointer(d + uintptr(i))) = uint8(*(*uint64)(unsafe.Pointer(bp /* &a[0] */ + uintptr(i)*8)))
+ }
+ return 1
+}
+
+func Xinet_ntop(tls *TLS, af int32, a0 uintptr, s uintptr, l socklen_t) uintptr { /* inet_ntop.c:7:12: */
+ bp := tls.Alloc(276)
+ defer tls.Free(276)
+
+ var a uintptr = a0
+ var i int32
+ var j int32
+ var max int32
+ var best int32
+ // var buf [100]int8 at bp+176, 100
+
+ switch af {
+ case 2:
+ if socklen_t(Xsnprintf(tls, s, uint64(l), ts+101 /* "%d.%d.%d.%d" */, VaList(bp, int32(*(*uint8)(unsafe.Pointer(a))), int32(*(*uint8)(unsafe.Pointer(a + 1))), int32(*(*uint8)(unsafe.Pointer(a + 2))), int32(*(*uint8)(unsafe.Pointer(a + 3)))))) < l {
+ return s
+ }
+ break
+ case 10:
+ if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
+ ts+113, /* "%x:%x:%x:%x:%x:%..." */
+ VaList(bp+32, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
+ ((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
+ ((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
+ ((256*int32(*(*uint8)(unsafe.Pointer(a + 12))))+int32(*(*uint8)(unsafe.Pointer(a + 13)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 14))))+int32(*(*uint8)(unsafe.Pointer(a + 15))))))
+ } else {
+ Xsnprintf(tls, bp+176 /* &buf[0] */, uint64(unsafe.Sizeof([100]int8{})),
+ ts+137, /* "%x:%x:%x:%x:%x:%..." */
+ VaList(bp+96, ((256*int32(*(*uint8)(unsafe.Pointer(a))))+int32(*(*uint8)(unsafe.Pointer(a + 1)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 2))))+int32(*(*uint8)(unsafe.Pointer(a + 3)))),
+ ((256*int32(*(*uint8)(unsafe.Pointer(a + 4))))+int32(*(*uint8)(unsafe.Pointer(a + 5)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 6))))+int32(*(*uint8)(unsafe.Pointer(a + 7)))),
+ ((256*int32(*(*uint8)(unsafe.Pointer(a + 8))))+int32(*(*uint8)(unsafe.Pointer(a + 9)))), ((256*int32(*(*uint8)(unsafe.Pointer(a + 10))))+int32(*(*uint8)(unsafe.Pointer(a + 11)))),
+ int32(*(*uint8)(unsafe.Pointer(a + 12))), int32(*(*uint8)(unsafe.Pointer(a + 13))), int32(*(*uint8)(unsafe.Pointer(a + 14))), int32(*(*uint8)(unsafe.Pointer(a + 15)))))
+ }
+ // Replace longest /(^0|:)[:0]{2,}/ with "::"
+ i = AssignInt32(&best, 0)
+ max = 2
+ for ; *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i))) != 0; i++ {
+ if (i != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(i)))) != ':') {
+ continue
+ }
+ j = int32(Xstrspn(tls, (bp + 176 /* &buf[0] */ + uintptr(i)), ts+167 /* ":0" */))
+ if j > max {
+ best = i
+ max = j
+ }
+ }
+ if max > 3 {
+ *(*int8)(unsafe.Pointer(bp + 176 /* &buf[0] */ + uintptr(best))) = AssignPtrInt8(bp+176 /* &buf */ +uintptr((best+1)), int8(':'))
+ Xmemmove(tls, ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(2)), ((bp + 176 /* &buf[0] */ + uintptr(best)) + uintptr(max)), (uint64(((i - best) - max) + 1)))
+ }
+ if Xstrlen(tls, bp+176 /* &buf[0] */) < size_t(l) {
+ Xstrcpy(tls, s, bp+176 /* &buf[0] */)
+ return s
+ }
+ break
+ default:
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 97
+ return uintptr(0)
+ }
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 28
+ return uintptr(0)
+}
+
+func hexval(tls *TLS, c uint32) int32 { /* inet_pton.c:7:12: */
+ if (c - uint32('0')) < uint32(10) {
+ return (int32(c - uint32('0')))
+ }
+ c = c | (uint32(32))
+ if (c - uint32('a')) < uint32(6) {
+ return (int32((c - uint32('a')) + uint32(10)))
+ }
+ return -1
+}
+
+func Xinet_pton(tls *TLS, af int32, s uintptr, a0 uintptr) int32 { /* inet_pton.c:15:5: */
+ bp := tls.Alloc(16)
+ defer tls.Free(16)
+
+ // var ip [8]uint16_t at bp, 16
+
+ var a uintptr = a0
+ var i int32
+ var j int32
+ var v int32
+ var d int32
+ var brk int32 = -1
+ var need_v4 int32 = 0
+
+ if af == 2 {
+ for i = 0; i < 4; i++ {
+ for v = AssignInt32(&j, 0); (j < 3) && (func() int32 {
+ if 0 != 0 {
+ return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))))
+ }
+ return (Bool32(((uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - uint32('0')) < uint32(10)))
+ }() != 0); j++ {
+ v = (((10 * v) + int32(*(*int8)(unsafe.Pointer(s + uintptr(j))))) - '0')
+ }
+ if ((j == 0) || ((j > 1) && (int32(*(*int8)(unsafe.Pointer(s))) == '0'))) || (v > 255) {
+ return 0
+ }
+ *(*uint8)(unsafe.Pointer(a + uintptr(i))) = uint8(v)
+ if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) == 0) && (i == 3) {
+ return 1
+ }
+ if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.' {
+ return 0
+ }
+ s += (uintptr(j + 1))
+ }
+ return 0
+ } else if af != 10 {
+ (*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = 97
+ return -1
+ }
+
+ if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != ':') {
+ return 0
+ }
+
+ for i = 0; ; i++ {
+ if (int32(*(*int8)(unsafe.Pointer(s))) == ':') && (brk < 0) {
+ brk = i
+ *(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(0)
+ if !(int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&s, 1)))) != 0) {
+ break
+ }
+ if i == 7 {
+ return 0
+ }
+ continue
+ }
+ for v = AssignInt32(&j, 0); (j < 4) && ((AssignInt32(&d, hexval(tls, uint32(*(*int8)(unsafe.Pointer(s + uintptr(j))))))) >= 0); j++ {
+ v = ((16 * v) + d)
+ }
+ if j == 0 {
+ return 0
+ }
+ *(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((i&7))*2)) = uint16_t(v)
+ if !(int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != 0) && ((brk >= 0) || (i == 7)) {
+ break
+ }
+ if i == 7 {
+ return 0
+ }
+ if int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != ':' {
+ if (int32(*(*int8)(unsafe.Pointer(s + uintptr(j)))) != '.') || ((i < 6) && (brk < 0)) {
+ return 0
+ }
+ need_v4 = 1
+ i++
+ break
+ }
+ s += (uintptr(j + 1))
+ }
+ if brk >= 0 {
+ Xmemmove(tls, (((bp /* &ip[0] */ + uintptr(brk)*2) + uintptr(7)*2) - uintptr(i)*2), (bp /* &ip[0] */ + uintptr(brk)*2), (uint64(2 * ((i + 1) - brk))))
+ for j = 0; j < (7 - i); j++ {
+ *(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr((brk+j))*2)) = uint16_t(0)
+ }
+ }
+ for j = 0; j < 8; j++ {
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&a, 1))) = (uint8(int32(*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr(j)*2))) >> 8))
+ *(*uint8)(unsafe.Pointer(PostIncUintptr(&a, 1))) = uint8(*(*uint16_t)(unsafe.Pointer(bp /* &ip[0] */ + uintptr(j)*2)))
+ }
+ if (need_v4 != 0) && (Xinet_pton(tls, 2, s, (a-uintptr(4))) <= 0) {
+ return 0
+ }
+ return 1
+}
+
+func X__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) int32 { /* lookup_ipliteral.c:12:5: */
+ bp := tls.Alloc(96)
+ defer tls.Free(96)
+
+ // var a4 in_addr at bp, 4
+
+ // var a6 in6_addr at bp+68, 16
+
+ if X__inet_aton(tls, name, bp /* &a4 */) > 0 {
+ if family == 10 { // wrong family
+ return -2
+ }
+ Xmemcpy(tls, (buf + 8 /* &.addr */), bp /* &a4 */, uint64(unsafe.Sizeof(in_addr{})))
+ (*address)(unsafe.Pointer(buf)).family = 2
+ (*address)(unsafe.Pointer(buf)).scopeid = uint32(0)
+ return 1
+ }
+ // var tmp [64]int8 at bp+4, 64
+
+ var p uintptr = Xstrchr(tls, name, '%')
+ // var z uintptr at bp+88, 8
+
+ var scopeid uint64 = uint64(0)
+ if (p != 0) && (((int64(p) - int64(name)) / 1) < int64(64)) {
+ Xmemcpy(tls, bp+4 /* &tmp[0] */, name, (uint64((int64(p) - int64(name)) / 1)))
+ *(*int8)(unsafe.Pointer(bp + 4 /* &tmp[0] */ + uintptr(((int64(p) - int64(name)) / 1)))) = int8(0)
+ name = bp + 4 /* &tmp[0] */
+ }
+
+ if Xinet_pton(tls, 10, name, bp+68 /* &a6 */) <= 0 {
+ return 0
+ }
+ if family == 2 { // wrong family
+ return -2
+ }
+
+ Xmemcpy(tls, (buf + 8 /* &.addr */), bp+68 /* &a6 */, uint64(unsafe.Sizeof(in6_addr{})))
+ (*address)(unsafe.Pointer(buf)).family = 10
+ if p != 0 {
+ if func() int32 {
+ if 0 != 0 {
+ return Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1)))))
+ }
+ return (Bool32(((uint32(*(*int8)(unsafe.Pointer(PreIncUintptr(&p, 1))))) - uint32('0')) < uint32(10)))
+ }() != 0 {
+ scopeid = Xstrtoull(tls, p, bp+88 /* &z */, 10)
+ } else {
+ *(*uintptr)(unsafe.Pointer(bp + 88 /* z */)) = (p - uintptr(1))
+ }
+ if *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* z */)))) != 0 {
+ Xabort(tls) //TODO-
+ // if (!IN6_IS_ADDR_LINKLOCAL(&a6) &&
+ // !IN6_IS_ADDR_MC_LINKLOCAL(&a6))
+ // return EAI_NONAME;
+ // scopeid = if_nametoindex(p);
+ // if (!scopeid) return EAI_NONAME;
+ }
+ if scopeid > uint64(0xffffffff) {
+ return -2
+ }
+ }
+ (*address)(unsafe.Pointer(buf)).scopeid = uint32(scopeid)
+ return 1
+}
+
+type mode_t = uint32 /* alltypes.h:152:18 */
+
+type flock = struct {
+ l_type int16
+ l_whence int16
+ _ [4]byte
+ l_start off_t
+ l_len off_t
+ l_pid pid_t
+ _ [4]byte
+} /* fcntl.h:24:1 */
+
+func is_valid_hostname(tls *TLS, host uintptr) int32 { /* lookup_name.c:18:12: */
+ var s uintptr
+ //TODO if (strnlen(host, 255)-1 >= 254 || mbstowcs(0, host, 0) == -1) return 0;
+ if (Xstrnlen(tls, host, uint64(255)) - uint64(1)) >= uint64(254) {
+ return 0
+ }
+ for s = host; (((int32(*(*uint8)(unsafe.Pointer(s))) >= 0x80) || (int32(*(*uint8)(unsafe.Pointer(s))) == '.')) || (int32(*(*uint8)(unsafe.Pointer(s))) == '-')) || (Xisalnum(tls, int32(*(*uint8)(unsafe.Pointer(s)))) != 0); s++ {
+ }
+ return BoolInt32(!(*(*uint8)(unsafe.Pointer(s)) != 0))
+}
+
+var Xzero_struct_address address /* lookup_name.c:27:16: */
+
+func name_from_null(tls *TLS, buf uintptr, name uintptr, family int32, flags int32) int32 { /* lookup_name.c:29:12: */
+ var cnt int32 = 0
+ if name != 0 {
+ return 0
+ }
+ if (flags & 0x01) != 0 {
+ //TODO if (family != AF_INET6)
+ //TODO buf[cnt++] = (struct address){ .family = AF_INET };
+ if family != 10 {
+ var x = Xzero_struct_address
+ x.family = 2
+ *(*address)(unsafe.Pointer(buf + uintptr(PostIncInt32(&cnt, 1))*28)) = x
+ }
+ //TODO if (family != AF_INET)
+ //TODO buf[cnt++] = (struct address){ .family = AF_INET6 };
+ if family != 2 {
+ var x = Xzero_struct_address
+ x.family = 10
+ *(*address)(unsafe.Pointer(buf + uintptr(PostIncInt32(&cnt, 1))*28)) = x
+ }
+ } else {
+ Xabort(tls) //TODO-
+ // if (family != AF_INET6)
+ // buf[cnt++] = (struct address){ .family = AF_INET, .addr = { 127,0,0,1 } };
+ // if (family != AF_INET)
+ // buf[cnt++] = (struct address){ .family = AF_INET6, .addr = { [15] = 1 } };
+ }
+ return cnt
+}
+
+func name_from_numeric(tls *TLS, buf uintptr, name uintptr, family int32) int32 { /* lookup_name.c:58:12: */
+ return X__lookup_ipliteral(tls, buf, name, family)
+}
+
+func name_from_hosts(tls *TLS, buf uintptr, canon uintptr, name uintptr, family int32) int32 { /* lookup_name.c:63:12: */
+ bp := tls.Alloc(512)
+ defer tls.Free(512)
+
+ // var line [512]int8 at bp, 512
+
+ var l size_t = Xstrlen(tls, name)
+ var cnt int32 = 0
+ var badfam int32 = 0
+ var _buf [1032]uint8
+ _ = _buf
+ //TODO FILE _f, *f = __fopen_rb_ca("/etc/hosts", &_f, _buf, sizeof _buf);
+ var _f FILE1
+ _ = _f
+ var f uintptr = Xfopen(tls, ts+74 /* "/etc/hosts" */, ts+85 /* "rb" */)
+ if !(f != 0) {
+ switch *(*int32)(unsafe.Pointer(X___errno_location(tls))) {
+ case 2:
+ fallthrough
+ case 20:
+ fallthrough
+ case 13:
+ return 0
+ fallthrough
+ default:
+ return -11
+ }
+ }
+ for (Xfgets(tls, bp /* &line[0] */, int32(unsafe.Sizeof([512]int8{})), f) != 0) && (cnt < 48) {
+ var p uintptr
+ var z uintptr
+
+ if AssignUintptr(&p, Xstrchr(tls, bp /* &line[0] */, '#')) != 0 {
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8('\n')
+ *(*int8)(unsafe.Pointer(p)) = int8(0)
+ }
+ for p = (bp /* &line[0] */ + uintptr(1)); (AssignUintptr(&p, Xstrstr(tls, p, name)) != 0) && (!(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + UintptrFromInt32(-1))))) != 0) || !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p + uintptr(l))))) != 0)); p++ {
+ }
+ if !(p != 0) {
+ continue
+ }
+
+ // Isolate IP address to parse
+ for p = bp; /* &line[0] */ (*(*int8)(unsafe.Pointer(p)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ }
+ *(*int8)(unsafe.Pointer(PostIncUintptr(&p, 1))) = int8(0)
+ switch name_from_numeric(tls, (buf + uintptr(cnt)*28), bp /* &line[0] */, family) {
+ case 1:
+ cnt++
+ break
+ case 0:
+ continue
+ default:
+ badfam = -2
+ continue
+ }
+
+ // Extract first name as canonical name
+ for ; (*(*int8)(unsafe.Pointer(p)) != 0) && (__isspace(tls, int32(*(*int8)(unsafe.Pointer(p)))) != 0); p++ {
+ }
+ for z = p; (*(*int8)(unsafe.Pointer(z)) != 0) && !(__isspace(tls, int32(*(*int8)(unsafe.Pointer(z)))) != 0); z++ {
+ }
+ *(*int8)(unsafe.Pointer(z)) = int8(0)
+ if is_valid_hostname(tls, p) != 0 {
+ Xmemcpy(tls, canon, p, (uint64(((int64(z) - int64(p)) / 1) + int64(1))))
+ }
+ }
+ //TODO __fclose_ca(f);
+ Xfclose(tls, f)
+ if cnt != 0 {
+ return cnt
+ }
+ return badfam
+}
+
+type dpc_ctx = struct {
+ addrs uintptr
+ canon uintptr
+ cnt int32
+ _ [4]byte
+} /* lookup_name.c:112:1 */
+
+func name_from_dns_search(tls *TLS, buf uintptr, canon uintptr, name uintptr, family int32) int32 { /* lookup_name.c:191:12: */
+ return -1 //TODO-
+ Xabort(tls)
+ return int32(0) //TODO-
+ // char search[256];
+ // struct resolvconf conf;
+ // size_t l, dots;
+ // char *p, *z;
+
+ // if (__get_resolv_conf(&conf, search, sizeof search) < 0) return -1;
+
+ // /* Count dots, suppress search when >=ndots or name ends in
+ // * a dot, which is an explicit request for global scope. */
+ // for (dots=l=0; name[l]; l++) if (name[l]=='.') dots++;
+ // if (dots >= conf.ndots || name[l-1]=='.') *search = 0;
+
+ // /* Strip final dot for canon, fail if multiple trailing dots. */
+ // if (name[l-1]=='.') l--;
+ // if (!l || name[l-1]=='.') return EAI_NONAME;
+
+ // /* This can never happen; the caller already checked length. */
+ // if (l >= 256) return EAI_NONAME;
+
+ // /* Name with search domain appended is setup in canon[]. This both
+ // * provides the desired default canonical name (if the requested
+ // * name is not a CNAME record) and serves as a buffer for passing
+ // * the full requested name to name_from_dns. */
+ // memcpy(canon, name, l);
+ // canon[l] = '.';
+
+ // for (p=search; *p; p=z) {
+ // for (; isspace(*p); p++);
+ // for (z=p; *z && !isspace(*z); z++);
+ // if (z==p) break;
+ // if (z-p < 256 - l - 1) {
+ // memcpy(canon+l+1, p, z-p);
+ // canon[z-p+1+l] = 0;
+ // int cnt = name_from_dns(buf, canon, canon, family, &conf);
+ // if (cnt) return cnt;
+ // }
+ // }
+
+ // canon[l] = 0;
+ // return name_from_dns(buf, canon, name, family, &conf);
+}
+
+type policy = struct {
+ addr [16]uint8
+ len uint8
+ mask uint8
+ prec uint8
+ label uint8
+} /* lookup_name.c:237:14 */
+
+var defpolicy = [6]policy{
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 170 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" */)), len: uint8(15), mask: uint8(0xff), prec: uint8(50)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 187 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00" */)), len: uint8(11), mask: uint8(0xff), prec: uint8(35), label: uint8(4)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 203 /* " \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(1), mask: uint8(0xff), prec: uint8(30), label: uint8(2)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 219 /* " \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), len: uint8(3), mask: uint8(0xff), prec: uint8(5), label: uint8(5)},
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 235 /* "\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), mask: uint8(0xfe), prec: uint8(3), label: uint8(13)},
+ // Last rule must match all addresses to stop loop.
+ {addr: *(*[16]uint8)(unsafe.Pointer(ts + 251 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" */)), prec: uint8(40), label: uint8(1)},
+} /* lookup_name.c:241:3 */
+
+func policyof(tls *TLS, a uintptr) uintptr { /* lookup_name.c:259:28: */
+ var i int32
+ for i = 0; ; i++ {
+ if Xmemcmp(tls, a /* &.__in6_union */ /* &.__s6_addr */, uintptr(unsafe.Pointer(&defpolicy))+uintptr(i)*20 /* &.addr */, uint64(defpolicy[i].len)) != 0 {
+ continue
+ }
+ if (int32(*(*uint8_t)(unsafe.Pointer((a /* &.__in6_union */ /* &.__s6_addr */) + uintptr(defpolicy[i].len)))) & int32(defpolicy[i].mask)) !=
+ int32(*(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&defpolicy)) + uintptr(i)*20 /* &.addr */) + uintptr(defpolicy[i].len)))) {
+ continue
+ }
+ return (uintptr(unsafe.Pointer(&defpolicy)) + uintptr(i)*20)
+ }
+ return uintptr(0)
+}
+
+func labelof(tls *TLS, a uintptr) int32 { /* lookup_name.c:272:12: */
+ return int32((*policy)(unsafe.Pointer(policyof(tls, a))).label)
+}
+
+func scopeof(tls *TLS, a uintptr) int32 { /* lookup_name.c:277:12: */
+ if int32(*(*uint8_t)(unsafe.Pointer((a)))) == 0xff {
+ return (int32(*(*uint8_t)(unsafe.Pointer((a /* &.__in6_union */ /* &.__s6_addr */) + 1))) & 15)
+ }
+ if ((int32(*(*uint8_t)(unsafe.Pointer((a))))) == 0xfe) && ((int32(*(*uint8_t)(unsafe.Pointer((a) + 1))) & 0xc0) == 0x80) {
+ return 2
+ }
+ if ((((((*(*uint32_t)(unsafe.Pointer((a))) == uint32_t(0)) && (*(*uint32_t)(unsafe.Pointer((a) + 1*4)) == uint32_t(0))) && (*(*uint32_t)(unsafe.Pointer((a) + 2*4)) == uint32_t(0))) && (int32(*(*uint8_t)(unsafe.Pointer((a) + 12))) == 0)) && (int32(*(*uint8_t)(unsafe.Pointer((a) + 13))) == 0)) && (int32(*(*uint8_t)(unsafe.Pointer((a) + 14))) == 0)) && (int32(*(*uint8_t)(unsafe.Pointer((a) + 15))) == 1) {
+ return 2
+ }
+ if ((int32(*(*uint8_t)(unsafe.Pointer((a))))) == 0xfe) && ((int32(*(*uint8_t)(unsafe.Pointer((a) + 1))) & 0xc0) == 0xc0) {
+ return 5
+ }
+ return 14
+}
+
+func prefixmatch(tls *TLS, s uintptr, d uintptr) int32 { /* lookup_name.c:286:12: */
+ // FIXME: The common prefix length should be limited to no greater
+ // than the nominal length of the prefix portion of the source
+ // address. However the definition of the source prefix length is
+ // not clear and thus this limiting is not yet implemented.
+ var i uint32
+ for i = uint32(0); (i < uint32(128)) && !(((int32(*(*uint8_t)(unsafe.Pointer((s /* &.__in6_union */ /* &.__s6_addr */) + uintptr((i / uint32(8)))))) ^ int32(*(*uint8_t)(unsafe.Pointer((d /* &.__in6_union */ /* &.__s6_addr */) + uintptr((i / uint32(8))))))) & (int32(128) >> (i % uint32(8)))) != 0); i++ {
+ }
+ return int32(i)
+}
+
+func addrcmp(tls *TLS, _a uintptr, _b uintptr) int32 { /* lookup_name.c:305:12: */
+ var a uintptr = _a
+ var b uintptr = _b
+ return ((*address)(unsafe.Pointer(b)).sortkey - (*address)(unsafe.Pointer(a)).sortkey)
+}
+
+func X__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family int32, flags int32) int32 { /* lookup_name.c:311:5: */
+ bp := tls.Alloc(92)
+ defer tls.Free(92)
+
+ var cnt int32 = 0
+ var i int32
+ var j int32
+ _ = j
+
+ *(*int8)(unsafe.Pointer(canon)) = int8(0)
+ if name != 0 {
+ // reject empty name and check len so it fits into temp bufs
+ var l size_t = Xstrnlen(tls, name, uint64(255))
+ if (l - uint64(1)) >= uint64(254) {
+ return -2
+ }
+ Xmemcpy(tls, canon, name, (l + uint64(1)))
+ }
+
+ // Procedurally, a request for v6 addresses with the v4-mapped
+ // flag set is like a request for unspecified family, followed
+ // by filtering of the results.
+ if (flags & 0x08) != 0 {
+ if family == 10 {
+ family = 0
+ } else {
+ flags = flags - (0x08)
+ }
+ }
+
+ // Try each backend until there's at least one result.
+ cnt = name_from_null(tls, buf, name, family, flags)
+ if !(cnt != 0) {
+ cnt = name_from_numeric(tls, buf, name, family)
+ }
+ if !(cnt != 0) && !((flags & 0x04) != 0) {
+ cnt = name_from_hosts(tls, buf, canon, name, family)
+ if !(cnt != 0) {
+ cnt = name_from_dns_search(tls, buf, canon, name, family)
+ }
+ }
+ if cnt <= 0 {
+ if cnt != 0 {
+ return cnt
+ }
+ return -2
+ }
+
+ // Filter/transform results for v4-mapped lookup, if requested.
+ if (flags & 0x08) != 0 {
+ Xabort(tls) //TODO-
+ // if (!(flags & AI_ALL)) {
+ // /* If any v6 results exist, remove v4 results. */
+ // for (i=0; i<cnt && buf[i].family != AF_INET6; i++);
+ // if (i<cnt) {
+ // for (j=0; i<cnt; i++) {
+ // if (buf[i].family == AF_INET6)
+ // buf[j++] = buf[i];
+ // }
+ // cnt = i = j;
+ // }
+ // }
+ // /* Translate any remaining v4 results to v6 */
+ // for (i=0; i<cnt; i++) {
+ // if (buf[i].family != AF_INET) continue;
+ // memcpy(buf[i].addr+12, buf[i].addr, 4);
+ // memcpy(buf[i].addr, "\0\0\0\0\0\0\0\0\0\0\xff\xff", 12);
+ // buf[i].family = AF_INET6;
+ // }
+ }
+
+ // No further processing is needed if there are fewer than 2
+ // results or if there are only IPv4 results.
+ if (cnt < 2) || (family == 2) {
+ return cnt
+ }
+ for i = 0; i < cnt; i++ {
+ if (*address)(unsafe.Pointer(buf+uintptr(i)*28)).family != 2 {
+ break
+ }
+ }
+ if i == cnt {
+ return cnt
+ }
+ var cs int32
+ _ = cs
+ //TODO pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
+
+ // The following implements a subset of RFC 3484/6724 destination
+ // address selection by generating a single 31-bit sort key for
+ // each address. Rules 3, 4, and 7 are omitted for having
+ // excessive runtime and code size cost and dubious benefit.
+ // So far the label/precedence table cannot be customized.
+ for i = 0; i < cnt; i++ {
+ var family int32 = (*address)(unsafe.Pointer(buf + uintptr(i)*28)).family
+ var key int32 = 0
+ *(*sockaddr_in6)(unsafe.Pointer(bp + 28 /* sa6 */)) = sockaddr_in6{}
+ *(*sockaddr_in6)(unsafe.Pointer(bp /* da6 */)) = sockaddr_in6{sin6_family: sa_family_t(10), sin6_port: in_port_t(65535), sin6_scope_id: (*address)(unsafe.Pointer(buf + uintptr(i)*28)).scopeid}
+ *(*sockaddr_in)(unsafe.Pointer(bp + 72 /* sa4 */)) = sockaddr_in{}
+ *(*sockaddr_in)(unsafe.Pointer(bp + 56 /* da4 */)) = sockaddr_in{sin_family: sa_family_t(2), sin_port: in_port_t(65535)}
+ var sa1 uintptr
+ var da uintptr
+ // var salen socklen_t at bp+88, 4
+
+ var dalen socklen_t
+ if family == 10 {
+ Xmemcpy(tls, bp /* &da6 */ +8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */, buf+uintptr(i)*28+8 /* &.addr */, uint64(16))
+ da = bp /* &da6 */
+ dalen = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
+ sa1 = bp + 28 /* &sa6 */
+ *(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in6{}))
+ } else {
+ Xmemcpy(tls, bp+28 /* &sa6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
+ ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
+ Xmemcpy(tls, bp /* &da6 */ +8, /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */
+ ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12))
+ Xmemcpy(tls, ((bp /* &da6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
+ Xmemcpy(tls, (bp + 56 /* &da4 */ + 4 /* &.sin_addr */), buf+uintptr(i)*28+8 /* &.addr */, uint64(4))
+ da = bp + 56 /* &da4 */
+ dalen = socklen_t(unsafe.Sizeof(sockaddr_in{}))
+ sa1 = bp + 72 /* &sa4 */
+ *(*socklen_t)(unsafe.Pointer(bp + 88 /* salen */)) = socklen_t(unsafe.Sizeof(sockaddr_in{}))
+ }
+ var dpolicy uintptr = policyof(tls, (bp /* &da6 */ + 8 /* &.sin6_addr */))
+ var dscope int32 = scopeof(tls, (bp /* &da6 */ + 8 /* &.sin6_addr */))
+ var dlabel int32 = int32((*policy)(unsafe.Pointer(dpolicy)).label)
+ var dprec int32 = int32((*policy)(unsafe.Pointer(dpolicy)).prec)
+ var prefixlen int32 = 0
+ var fd int32 = Xsocket(tls, family, (2 | 02000000), 17)
+ if fd >= 0 {
+ if !(Xconnect(tls, fd, da, dalen) != 0) {
+ key = key | (0x40000000)
+ if !(Xgetsockname(tls, fd, sa1, bp+88 /* &salen */) != 0) {
+ if family == 2 {
+ Xmemcpy(tls,
+ ((bp + 28 /* &sa6 */ + 8 /* &.sin6_addr */ /* &.__in6_union */ /* &.__s6_addr */) + uintptr(12)),
+ (bp + 72 /* &sa4 */ + 4 /* &.sin_addr */), uint64(4))
+ }
+ if dscope == scopeof(tls, (bp+28 /* &sa6 */ +8 /* &.sin6_addr */)) {
+ key = key | (0x20000000)
+ }
+ if dlabel == labelof(tls, (bp+28 /* &sa6 */ +8 /* &.sin6_addr */)) {
+ key = key | (0x10000000)
+ }
+ prefixlen = prefixmatch(tls, (bp + 28 /* &sa6 */ + 8 /* &.sin6_addr */),
+ (bp /* &da6 */ + 8 /* &.sin6_addr */))
+ }
+ }
+ Xclose(tls, fd)
+ }
+ key = key | (dprec << 20)
+ key = key | ((15 - dscope) << 16)
+ key = key | (prefixlen << 8)
+ key = key | ((48 - i) << 0)
+ (*address)(unsafe.Pointer(buf + uintptr(i)*28)).sortkey = key
+ }
+ Xqsort(tls, buf, uint64(cnt), uint64(unsafe.Sizeof(address{})), *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*TLS, uintptr, uintptr) int32
+ }{addrcmp})))
+
+ //TODO pthread_setcancelstate(cs, 0);
+
+ return cnt
+}
+
+func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype int32, flags int32) int32 { /* lookup_serv.c:12:5: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ var line [128]int8
+ _ = line
+ var cnt int32 = 0
+ var p uintptr
+ _ = p
+ *(*uintptr)(unsafe.Pointer(bp /* z */)) = ts + 13 /* "" */
+ var port uint64 = uint64(0)
+
+ switch socktype {
+ case 1:
+ switch proto {
+ case 0:
+ proto = 6
+ fallthrough
+ case 6:
+ break
+ default:
+ return -8
+ }
+ break
+ case 2:
+ switch proto {
+ case 0:
+ proto = 17
+ fallthrough
+ case 17:
+ break
+ default:
+ return -8
+ }
+ fallthrough
+ case 0:
+ break
+ default:
+ if name != 0 {
+ return -8
+ }
+ (*service)(unsafe.Pointer(buf)).port = uint16_t(0)
+ (*service)(unsafe.Pointer(buf)).proto = uint8(proto)
+ (*service)(unsafe.Pointer(buf)).socktype = uint8(socktype)
+ return 1
+ }
+
+ if name != 0 {
+ if !(int32(*(*int8)(unsafe.Pointer(name))) != 0) {
+ return -8
+ }
+ port = Xstrtoul(tls, name, bp /* &z */, 10)
+ }
+ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* z */))))) != 0) {
+ if port > uint64(65535) {
+ return -8
+ }
+ if proto != 17 {
+ (*service)(unsafe.Pointer(buf + uintptr(cnt)*4)).port = uint16_t(port)
+ (*service)(unsafe.Pointer(buf + uintptr(cnt)*4)).socktype = uint8(1)
+ (*service)(unsafe.Pointer(buf + uintptr(PostIncInt32(&cnt, 1))*4)).proto = uint8(6)
+ }
+ if proto != 6 {
+ (*service)(unsafe.Pointer(buf + uintptr(cnt)*4)).port = uint16_t(port)
+ (*service)(unsafe.Pointer(buf + uintptr(cnt)*4)).socktype = uint8(2)
+ (*service)(unsafe.Pointer(buf + uintptr(PostIncInt32(&cnt, 1))*4)).proto = uint8(17)
+ }
+ return cnt
+ }
+
+ if (flags & 0x400) != 0 {
+ return -2
+ }
+
+ var l size_t = Xstrlen(tls, name)
+ _ = l
+
+ Xabort(tls) //TODO-
+ // unsigned char _buf[1032];
+ // FILE _f, *f = __fopen_rb_ca("/etc/services", &_f, _buf, sizeof _buf);
+ // if (!f) switch (errno) {
+ // case ENOENT:
+ // case ENOTDIR:
+ // case EACCES:
+ // return EAI_SERVICE;
+ // default:
+ // return EAI_SYSTEM;
+ // }
+
+ Xabort(tls) //TODO-
+ // while (fgets(line, sizeof line, f) && cnt < MAXSERVS) {
+ // if ((p=strchr(line, '#'))) *p++='\n', *p=0;
+
+ // /* Find service name */
+ // for(p=line; (p=strstr(p, name)); p++) {
+ // if (p>line && !isspace(p[-1])) continue;
+ // if (p[l] && !isspace(p[l])) continue;
+ // break;
+ // }
+ // if (!p) continue;
+
+ // /* Skip past canonical name at beginning of line */
+ // for (p=line; *p && !isspace(*p); p++);
+
+ // port = strtoul(p, &z, 10);
+ // if (port > 65535 || z==p) continue;
+ // if (!strncmp(z, "/udp", 4)) {
+ // if (proto == IPPROTO_TCP) continue;
+ // buf[cnt].port = port;
+ // buf[cnt].socktype = SOCK_DGRAM;
+ // buf[cnt++].proto = IPPROTO_UDP;
+ // }
+ // if (!strncmp(z, "/tcp", 4)) {
+ // if (proto == IPPROTO_UDP) continue;
+ // buf[cnt].port = port;
+ // buf[cnt].socktype = SOCK_STREAM;
+ // buf[cnt++].proto = IPPROTO_TCP;
+ // }
+ // }
+ // __fclose_ca(f);
+ // return cnt > 0 ? cnt : EAI_SERVICE;
+ Xabort(tls)
+ return int32(0) //TODO-
+}
+
+func X__toread(tls *TLS, f uintptr) int32 { /* __toread.c:3:5: */
+ *(*int32)(unsafe.Pointer(f + 136 /* &.mode */)) |= ((*FILE1)(unsafe.Pointer(f)).mode - 1)
+ if (*FILE1)(unsafe.Pointer(f)).wpos != (*FILE1)(unsafe.Pointer(f)).wbase {
+ (*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE1)(unsafe.Pointer(f)).write})).f(tls, f, uintptr(0), uint64(0))
+ }
+ (*FILE1)(unsafe.Pointer(f)).wpos = AssignPtrUintptr(f+56 /* &.wbase */, AssignPtrUintptr(f+32 /* &.wend */, uintptr(0)))
+ if ((*FILE1)(unsafe.Pointer(f)).flags & uint32(4)) != 0 {
+ *(*uint32)(unsafe.Pointer(f /* &.flags */)) |= (uint32(32))
+ return -1
+ }
+ (*FILE1)(unsafe.Pointer(f)).rpos = AssignPtrUintptr(f+16 /* &.rend */, ((*FILE1)(unsafe.Pointer(f)).buf + uintptr((*FILE1)(unsafe.Pointer(f)).buf_size)))
+ if ((*FILE1)(unsafe.Pointer(f)).flags & uint32(16)) != 0 {
+ return -1
+ }
+ return 0
+}
+
+func X__toread_needs_stdio_exit(tls *TLS) { /* __toread.c:16:13: */
+ X__builtin_abort(tls) //TODO-
+ // __stdio_exit_needed();
+}
+
+// This function assumes it will never be called if there is already
+// data buffered for reading.
+
+func X__uflow(tls *TLS, f uintptr) int32 { /* __uflow.c:6:5: */
+ bp := tls.Alloc(1)
+ defer tls.Free(1)
+
+ // var c uint8 at bp, 1
+
+ if !(X__toread(tls, f) != 0) && ((*struct {
+ f func(*TLS, uintptr, uintptr, size_t) size_t
+ })(unsafe.Pointer(&struct{ uintptr }{(*FILE1)(unsafe.Pointer(f)).read})).f(tls, f, bp /* &c */, uint64(1)) == uint64(1)) {
+ return int32(*(*uint8)(unsafe.Pointer(bp /* c */)))
+ }
+ return -1
+}
+
+func strtox(tls *TLS, s uintptr, p uintptr, prec int32) float64 { /* strtod.c:6:20: */
+ bp := tls.Alloc(232)
+ defer tls.Free(232)
+
+ // var f FILE1 at bp, 232
+
+ (*FILE1)(unsafe.Pointer(bp /* &f */)).buf = AssignPtrUintptr(bp /* &f */ +8 /* &.rpos */, s)
+ (*FILE1)(unsafe.Pointer(bp /* &f */)).rend = UintptrFromInt32(-1)
+ X__shlim(tls, bp /* &f */, int64(0))
+ var y float64 = X__floatscan(tls, bp /* &f */, prec, 1)
+ var cnt off_t = ((*FILE1)(unsafe.Pointer((bp /* &f */))).shcnt + ((int64((*FILE1)(unsafe.Pointer((bp /* &f */))).rpos) - int64((*FILE1)(unsafe.Pointer((bp /* &f */))).buf)) / 1))
+ if p != 0 {
+ *(*uintptr)(unsafe.Pointer(p)) = func() uintptr {
+ if cnt != 0 {
+ return (s + uintptr(cnt))
+ }
+ return s
+ }()
+ }
+ return y
+}
+
+func Xstrtof(tls *TLS, s uintptr, p uintptr) float32 { /* strtod.c:17:7: */
+ return float32(strtox(tls, s, p, 0))
+}
+
+func Xstrtod(tls *TLS, s uintptr, p uintptr) float64 { /* strtod.c:22:8: */
+ return strtox(tls, s, p, 1)
+}
+
+func Xstrtold(tls *TLS, s uintptr, p uintptr) float64 { /* strtod.c:27:13: */
+ return strtox(tls, s, p, 2)
+}
+
+func strtox1(tls *TLS, s uintptr, p uintptr, base int32, lim uint64) uint64 { /* strtol.c:8:27: */
+ bp := tls.Alloc(232)
+ defer tls.Free(232)
+
+ // var f FILE1 at bp, 232
+
+ (*FILE1)(unsafe.Pointer(bp /* &f */)).buf = AssignPtrUintptr(bp /* &f */ +8 /* &.rpos */, s)
+ (*FILE1)(unsafe.Pointer(bp /* &f */)).rend = UintptrFromInt32(-1)
+ X__shlim(tls, bp /* &f */, int64(0))
+ var y uint64 = X__intscan(tls, bp /* &f */, uint32(base), 1, lim)
+ if p != 0 {
+ var cnt size_t = (size_t((*FILE1)(unsafe.Pointer((bp /* &f */))).shcnt + ((int64((*FILE1)(unsafe.Pointer((bp /* &f */))).rpos) - int64((*FILE1)(unsafe.Pointer((bp /* &f */))).buf)) / 1)))
+ *(*uintptr)(unsafe.Pointer(p)) = (s + uintptr(cnt))
+ }
+ return y
+}
+
+func Xstrtoull(tls *TLS, s uintptr, p uintptr, base int32) uint64 { /* strtol.c:21:20: */
+ return strtox1(tls, s, p, base, ((2 * uint64(0x7fffffffffffffff)) + uint64(1)))
+}
+
+func Xstrtoll(tls *TLS, s uintptr, p uintptr, base int32) int64 { /* strtol.c:26:11: */
+ return int64(strtox1(tls, s, p, base, (Uint64FromInt64(-0x7fffffffffffffff - int64(1)))))
+}
+
+func Xstrtoul(tls *TLS, s uintptr, p uintptr, base int32) uint64 { /* strtol.c:31:15: */
+ return uint64(strtox1(tls, s, p, base, ((2 * uint64(0x7fffffffffffffff)) + uint64(1))))
+}
+
+func Xstrtol(tls *TLS, s uintptr, p uintptr, base int32) int64 { /* strtol.c:36:6: */
+ return int64(strtox1(tls, s, p, base, (0 + (Uint64FromInt64(Int64(-Int64(0x7fffffffffffffff)) - Int64FromInt32(1))))))
+}
+
+func Xstrtoimax(tls *TLS, s uintptr, p uintptr, base int32) intmax_t { /* strtol.c:41:10: */
+ return intmax_t(Xstrtoll(tls, s, p, base))
+}
+
+func Xstrtoumax(tls *TLS, s uintptr, p uintptr, base int32) uintmax_t { /* strtol.c:46:11: */
+ return uintmax_t(Xstrtoull(tls, s, p, base))
+}
+
+func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
+ var l size_t = Xstrlen(tls, s)
+ var d uintptr = Xmalloc(tls, (l + uint64(1)))
+ if !(d != 0) {
+ return uintptr(0)
+ }
+ return Xmemcpy(tls, d, s, (l + uint64(1)))
+}
+
+func Xstrnlen(tls *TLS, s uintptr, n size_t) size_t { /* strnlen.c:3:8: */
+ var p uintptr = Xmemchr(tls, s, 0, n)
+ if p != 0 {
+ return (uint64((int64(p) - int64(s)) / 1))
+ }
+ return n
+}
+
+func Xstrspn(tls *TLS, s uintptr, c uintptr) size_t { /* strspn.c:6:8: */
+ bp := tls.Alloc(32)
+ defer tls.Free(32)
+
+ var a uintptr = s
+ *(*[4]size_t)(unsafe.Pointer(bp /* byteset */)) = [4]size_t{0: uint64(0)}
+
+ if !(int32(*(*int8)(unsafe.Pointer(c))) != 0) {
+ return uint64(0)
+ }
+ if !(int32(*(*int8)(unsafe.Pointer(c + 1))) != 0) {
+ for ; int32(*(*int8)(unsafe.Pointer(s))) == int32(*(*int8)(unsafe.Pointer(c))); s++ {
+ }
+ return (size_t((int64(s) - int64(a)) / 1))
+ }
+
+ for ; (*(*int8)(unsafe.Pointer(c)) != 0) && (AssignOrPtrUint64(bp /* &byteset */ +uintptr(((size_t(*(*uint8)(unsafe.Pointer(c))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8, (size_t(uint64(1))<<((size_t(*(*uint8)(unsafe.Pointer(c))))%(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))) != 0); c++ {
+ }
+ for ; (*(*int8)(unsafe.Pointer(s)) != 0) && ((*(*size_t)(unsafe.Pointer(bp /* &byteset[0] */ + uintptr(((size_t(*(*uint8)(unsafe.Pointer(s))))/(uint64(8)*uint64(unsafe.Sizeof(size_t(0))))))*8)) & (size_t(uint64(1)) << ((size_t(*(*uint8)(unsafe.Pointer(s)))) % (uint64(8) * uint64(unsafe.Sizeof(size_t(0))))))) != 0); s++ {
+ }
+ return (size_t((int64(s) - int64(a)) / 1))
+}
+
+func init() {
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_ctype_tab_)) + 0)) = (uintptr(unsafe.Pointer(&X_C_ctype_tab_))) // ctype_.cpp.c:2233:37:
+ *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_ctype_tab_)) + 0)) = (uintptr(unsafe.Pointer(&X_C_ctype_tab_))) // ctype_.cpp.c:2233:37:
+}
+
+var ts1 = "infinity\x00nan\x00\x00\x00\x01\x02\x04\a\x03\x06\x05\x00%d.%d.%d.%d.in-addr.arpa\x00ip6.arpa\x000123456789abcdef\x00/etc/hosts\x00rb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00%d.%d.%d.%d\x00%x:%x:%x:%x:%x:%x:%x:%x\x00%x:%x:%x:%x:%x:%x:%d.%d.%d.%d\x00:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00 \x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/libc/musl_windows_386.go b/vendor/modernc.org/libc/musl_windows_386.go
index 96e52e338..cbd94821d 100644
--- a/vendor/modernc.org/libc/musl_windows_386.go
+++ b/vendor/modernc.org/libc/musl_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_windows_386.go -pkgname libc -static-locals-prefix _s -Iarch/i386 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isspace.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/multibyte/wcrtomb.c src/multibyte/wcsrtombs.c src/multibyte/wcstombs.c src/string/strdup.c src/string/strchrnul.c', DO NOT EDIT.
+// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_windows_386.go -pkgname libc -static-locals-prefix _s -Iarch/i386 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isspace.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/multibyte/wcrtomb.c src/multibyte/wcsrtombs.c src/multibyte/wcstombs.c src/string/strchrnul.c src/string/strdup.c', DO NOT EDIT.
package libc
@@ -896,12 +896,15 @@ func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic.h:220:20: */
bp := tls.Alloc(8)
defer tls.Free(8)
- *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = struct{ v uint64_t }{v: v}
+ *(*struct{ v uint64_t })(unsafe.Pointer(bp /* u */)) = func() (r struct{ v uint64_t }) {
+ *(*uint64_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = v
+ return r
+ }()
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */))) != 0 {
- a_or(tls, AtomicLoadUintptr(&p), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
+ a_or(tls, p, int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */)))))
}
if *(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4)) != 0 {
- a_or(tls, (AtomicLoadUintptr(&p) + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
+ a_or(tls, (p + uintptr(1)*4), int32(*(*uint32_t)(unsafe.Pointer((bp /* &u */ /* &.r */) + 1*4))))
}
}
@@ -1036,15 +1039,6 @@ func Xwcstombs(tls *TLS, s uintptr, ws uintptr, n size_t) size_t { /* wcstombs.c
return Xwcsrtombs(tls, s, bp /* &ws */, n, uintptr(0))
}
-func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
- var l size_t = Xstrlen(tls, s)
- var d uintptr = Xmalloc(tls, (l + size_t(1)))
- if !(d != 0) {
- return uintptr(0)
- }
- return Xmemcpy(tls, d, s, (l + size_t(1)))
-}
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -1073,3 +1067,12 @@ func X__strchrnul(tls *TLS, s uintptr, c int32) uintptr { /* strchrnul.c:10:6: *
}
return s
}
+
+func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
+ var l size_t = Xstrlen(tls, s)
+ var d uintptr = Xmalloc(tls, (l + size_t(1)))
+ if !(d != 0) {
+ return uintptr(0)
+ }
+ return Xmemcpy(tls, d, s, (l + size_t(1)))
+}
diff --git a/vendor/modernc.org/libc/musl_windows_amd64.go b/vendor/modernc.org/libc/musl_windows_amd64.go
index f8da62192..cb5f49063 100644
--- a/vendor/modernc.org/libc/musl_windows_amd64.go
+++ b/vendor/modernc.org/libc/musl_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_windows_amd64.go -pkgname libc -static-locals-prefix _s -Iarch/x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isspace.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/multibyte/wcrtomb.c src/multibyte/wcsrtombs.c src/multibyte/wcstombs.c src/string/strdup.c src/string/strchrnul.c', DO NOT EDIT.
+// Code generated by 'ccgo -D__environ=environ -export-externs X -hide __syscall0,__syscall1,__syscall2,__syscall3,__syscall4,__syscall5,__syscall6 -nostdinc -nostdlib -o ../musl_windows_amd64.go -pkgname libc -static-locals-prefix _s -Iarch\x86_64 -Iarch/generic -Iobj/src/internal -Isrc/include -Isrc/internal -Iobj/include -Iinclude copyright.c src/ctype/isalnum.c src/ctype/isalpha.c src/ctype/isdigit.c src/ctype/islower.c src/ctype/isprint.c src/ctype/isspace.c src/ctype/isxdigit.c src/env/putenv.c src/env/setenv.c src/env/unsetenv.c src/multibyte/wcrtomb.c src/multibyte/wcsrtombs.c src/multibyte/wcstombs.c src/string/strchrnul.c src/string/strdup.c', DO NOT EDIT.
package libc
@@ -906,20 +906,20 @@ type mode_t = uint32 /* alltypes.h:152:18 */
type syscall_arg_t = int32 /* syscall.h:22:14 */
func a_cas(tls *TLS, p uintptr, t int32, s int32) int32 { /* atomic_arch.h:2:19: */
- panic(`arch/x86_64/atomic_arch.h:4:2: assembler statements not supported`)
+ panic(`arch\x86_64\atomic_arch.h:4:2: assembler statements not supported`)
return t
}
func a_or(tls *TLS, p uintptr, v int32) { /* atomic_arch.h:46:20: */
- panic(`arch/x86_64/atomic_arch.h:48:2: assembler statements not supported`)
+ panic(`arch\x86_64\atomic_arch.h:48:2: assembler statements not supported`)
}
func a_or_64(tls *TLS, p uintptr, v uint64_t) { /* atomic_arch.h:62:20: */
- panic(`arch/x86_64/atomic_arch.h:64:2: assembler statements not supported`)
+ panic(`arch\x86_64\atomic_arch.h:64:2: assembler statements not supported`)
}
func a_ctz_64(tls *TLS, x uint64_t) int32 { /* atomic_arch.h:112:19: */
- panic(`arch/x86_64/atomic_arch.h:114:2: assembler statements not supported`)
+ panic(`arch\x86_64\atomic_arch.h:114:2: assembler statements not supported`)
return int32(x)
}
@@ -940,7 +940,7 @@ type __timer = struct {
func __pthread_self(tls *TLS) uintptr { /* pthread_arch.h:1:30: */
var self uintptr
- panic(`arch/x86_64/pthread_arch.h:4:2: assembler statements not supported`)
+ panic(`arch\x86_64\pthread_arch.h:4:2: assembler statements not supported`)
return self
}
@@ -1062,15 +1062,6 @@ func Xwcstombs(tls *TLS, s uintptr, ws uintptr, n size_t) size_t { /* wcstombs.c
return Xwcsrtombs(tls, s, bp /* &ws */, n, uintptr(0))
}
-func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
- var l size_t = Xstrlen(tls, s)
- var d uintptr = Xmalloc(tls, (l + uint64(1)))
- if !(d != 0) {
- return uintptr(0)
- }
- return Xmemcpy(tls, d, s, (l + uint64(1)))
-}
-
// Support signed or unsigned plain-char
// Implementation choices...
@@ -1099,3 +1090,12 @@ func X__strchrnul(tls *TLS, s uintptr, c int32) uintptr { /* strchrnul.c:10:6: *
}
return s
}
+
+func Xstrdup(tls *TLS, s uintptr) uintptr { /* strdup.c:4:6: */
+ var l size_t = Xstrlen(tls, s)
+ var d uintptr = Xmalloc(tls, (l + uint64(1)))
+ if !(d != 0) {
+ return uintptr(0)
+ }
+ return Xmemcpy(tls, d, s, (l + uint64(1)))
+}
diff --git a/vendor/modernc.org/libc/netdb/capi_darwin_amd64.go b/vendor/modernc.org/libc/netdb/capi_darwin_amd64.go
index 204a42884..a750f5283 100644
--- a/vendor/modernc.org/libc/netdb/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/netdb/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_darwin_amd64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_darwin_amd64.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_darwin_arm64.go b/vendor/modernc.org/libc/netdb/capi_darwin_arm64.go
index 4db97af03..96c1abeec 100644
--- a/vendor/modernc.org/libc/netdb/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/netdb/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_darwin_arm64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_darwin_arm64.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_linux_386.go b/vendor/modernc.org/libc/netdb/capi_linux_386.go
index ae6eedb49..a3443a061 100644
--- a/vendor/modernc.org/libc/netdb/capi_linux_386.go
+++ b/vendor/modernc.org/libc/netdb/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_386.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_386.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_linux_amd64.go b/vendor/modernc.org/libc/netdb/capi_linux_amd64.go
index 320af21d8..f8e1b5e37 100644
--- a/vendor/modernc.org/libc/netdb/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/netdb/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_amd64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_amd64.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_linux_arm.go b/vendor/modernc.org/libc/netdb/capi_linux_arm.go
index 067de566f..c58589a4e 100644
--- a/vendor/modernc.org/libc/netdb/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/netdb/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_arm.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_arm.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_linux_arm64.go b/vendor/modernc.org/libc/netdb/capi_linux_arm64.go
index 270f34d6c..aad6e361e 100644
--- a/vendor/modernc.org/libc/netdb/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/netdb/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_arm64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_arm64.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_linux_s390x.go b/vendor/modernc.org/libc/netdb/capi_linux_s390x.go
index 19c51eb4f..872e8f82f 100644
--- a/vendor/modernc.org/libc/netdb/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/netdb/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_s390x.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_s390x.go -pkgname netdb', DO NOT EDIT.
package netdb
diff --git a/vendor/modernc.org/libc/netdb/capi_netbsd_amd64.go b/vendor/modernc.org/libc/netdb/capi_netbsd_amd64.go
new file mode 100644
index 000000000..4aea73b1f
--- /dev/null
+++ b/vendor/modernc.org/libc/netdb/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo netdb/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 netdb/netdb_netbsd_amd64.go -pkgname netdb', DO NOT EDIT.
+
+package netdb
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/netdb/netdb_darwin_amd64.go b/vendor/modernc.org/libc/netdb/netdb_darwin_amd64.go
index 52d5f846f..d86f4e376 100644
--- a/vendor/modernc.org/libc/netdb/netdb_darwin_amd64.go
+++ b/vendor/modernc.org/libc/netdb/netdb_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_darwin_amd64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_darwin_amd64.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -1335,8 +1335,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -5658,13 +5658,13 @@ type Sae_connid_t = X__uint32_t /* socket.h:293:20 */
// sockaddr endpoints
type Sa_endpoints = struct {
Fsae_srcif uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsae_srcaddr uintptr
Fsae_srcaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fsae_dstaddr uintptr
Fsae_dstaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:303:9 */
// connectx() flag parameters
@@ -5738,10 +5738,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -5773,12 +5773,12 @@ type Cmsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:678:1 */
// The following two #includes insure htonl and family are defined
@@ -6030,7 +6030,7 @@ type Ip_mreq_source = struct {
// Filter APIs. [RFC3678]
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -6042,7 +6042,7 @@ type Group_req = struct {
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -6310,8 +6310,8 @@ type In_pktinfo = struct {
// IPv6 address
type In6_addr = struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
} /* in6.h:151:9 */
@@ -6528,8 +6528,8 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo X__uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fsin6_scope_id X__uint32_t
@@ -6605,8 +6605,8 @@ type Sockaddr_in6 = struct {
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fipv6mr_interface uint32
@@ -6616,8 +6616,8 @@ type Ipv6_mreq = struct {
type In6_pktinfo = struct {
Fipi6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fipi6_ifindex uint32
@@ -6632,8 +6632,8 @@ type Ip6_mtuinfo = struct {
Fsin6_flowinfo X__uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fsin6_scope_id X__uint32_t
@@ -6662,18 +6662,18 @@ type Netent = struct {
} /* netdb.h:127:1 */
type Servent = struct {
- Fs_name uintptr
- Fs_aliases uintptr
- Fs_port int32
- _ [4]byte
- Fs_proto uintptr
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
} /* netdb.h:134:1 */
type Protoent = struct {
- Fp_name uintptr
- Fp_aliases uintptr
- Fp_proto int32
- _ [4]byte
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:141:1 */
type Addrinfo = struct {
@@ -6682,17 +6682,17 @@ type Addrinfo = struct {
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fai_canonname uintptr
Fai_addr uintptr
Fai_next uintptr
} /* netdb.h:147:1 */
type Rpcent = struct {
- Fr_name uintptr
- Fr_aliases uintptr
- Fr_number int32
- _ [4]byte
+ Fr_name uintptr
+ Fr_aliases uintptr
+ Fr_number int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:159:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netdb/netdb_darwin_arm64.go b/vendor/modernc.org/libc/netdb/netdb_darwin_arm64.go
index 752e5ebf7..10b6a4678 100644
--- a/vendor/modernc.org/libc/netdb/netdb_darwin_arm64.go
+++ b/vendor/modernc.org/libc/netdb/netdb_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_darwin_arm64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_darwin_arm64.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -2744,7 +2744,7 @@ type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -5589,13 +5589,13 @@ type Sae_connid_t = X__uint32_t /* socket.h:293:20 */
// sockaddr endpoints
type Sa_endpoints = struct {
Fsae_srcif uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsae_srcaddr uintptr
Fsae_srcaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fsae_dstaddr uintptr
Fsae_dstaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:303:9 */
// connectx() flag parameters
@@ -5669,10 +5669,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -5704,12 +5704,12 @@ type Cmsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:687:1 */
// The following two #includes insure htonl and family are defined
@@ -5961,7 +5961,7 @@ type Ip_mreq_source = struct {
// Filter APIs. [RFC3678]
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -5973,7 +5973,7 @@ type Group_req = struct {
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -6593,18 +6593,18 @@ type Netent = struct {
} /* netdb.h:127:1 */
type Servent = struct {
- Fs_name uintptr
- Fs_aliases uintptr
- Fs_port int32
- _ [4]byte
- Fs_proto uintptr
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
} /* netdb.h:134:1 */
type Protoent = struct {
- Fp_name uintptr
- Fp_aliases uintptr
- Fp_proto int32
- _ [4]byte
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:141:1 */
type Addrinfo = struct {
@@ -6613,17 +6613,17 @@ type Addrinfo = struct {
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fai_canonname uintptr
Fai_addr uintptr
Fai_next uintptr
} /* netdb.h:147:1 */
type Rpcent = struct {
- Fr_name uintptr
- Fr_aliases uintptr
- Fr_number int32
- _ [4]byte
+ Fr_name uintptr
+ Fr_aliases uintptr
+ Fr_number int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:159:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netdb/netdb_freebsd_amd64.go b/vendor/modernc.org/libc/netdb/netdb_freebsd_amd64.go
index ce87b6868..5ec53ab52 100644
--- a/vendor/modernc.org/libc/netdb/netdb_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/netdb/netdb_freebsd_amd64.go
@@ -650,8 +650,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -692,18 +692,18 @@ type Netent = struct {
} /* netdb.h:115:1 */
type Servent = struct {
- Fs_name uintptr
- Fs_aliases uintptr
- Fs_port int32
- _ [4]byte
- Fs_proto uintptr
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
} /* netdb.h:122:1 */
type Protoent = struct {
- Fp_name uintptr
- Fp_aliases uintptr
- Fp_proto int32
- _ [4]byte
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:129:1 */
type Addrinfo = struct {
@@ -712,7 +712,7 @@ type Addrinfo = struct {
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fai_canonname uintptr
Fai_addr uintptr
Fai_next uintptr
diff --git a/vendor/modernc.org/libc/netdb/netdb_linux_386.go b/vendor/modernc.org/libc/netdb/netdb_linux_386.go
index 29fee2709..fc6570d4d 100644
--- a/vendor/modernc.org/libc/netdb/netdb_linux_386.go
+++ b/vendor/modernc.org/libc/netdb/netdb_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_386.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_386.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
AI_ADDRCONFIG = 0x0020
AI_ALL = 0x0010
AI_CANONNAME = 0x0002
@@ -128,6 +129,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -152,6 +154,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -262,7 +265,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -285,11 +288,9 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
- SCM_TIMESTAMP = 29
- SCM_TIMESTAMPING = 37
+ PF_XDP = 44
SCM_TIMESTAMPING_OPT_STATS = 54
SCM_TIMESTAMPING_PKTINFO = 58
- SCM_TIMESTAMPNS = 35
SCM_TXTIME = 61
SCM_WIFI_STATUS = 41
SIOCATMARK = 0x8905
@@ -324,13 +325,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -340,6 +343,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -367,7 +371,8 @@ const (
SO_RCVBUF = 8
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
- SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -378,22 +383,30 @@ const (
SO_SNDBUF = 7
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
- SO_SNDTIMEO = 21
- SO_TIMESTAMP = 29
- SO_TIMESTAMPING = 37
- SO_TIMESTAMPNS = 35
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
TRY_AGAIN = 2
+ X_ASM_X86_POSIX_TYPES_32_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -404,6 +417,8 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
+ X_LINUX_POSIX_TYPES_H = 0
X_NETDB_H = 1
X_NETINET_IN_H = 1
X_PATH_HEQUIV = "/etc/hosts.equiv"
@@ -415,6 +430,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_RPC_NETDB_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -429,6 +445,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -438,7 +455,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -465,13 +482,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -486,7 +503,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -629,7 +646,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -644,13 +661,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// All data returned by the network data base library are supplied in
// host order and returned in network order (suitable for use in
// system calls).
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -665,7 +682,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -673,6 +690,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -793,6 +811,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -815,9 +835,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -832,7 +865,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -845,7 +878,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -860,7 +893,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -975,7 +1008,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -996,10 +1029,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1014,7 +1051,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1051,7 +1088,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1066,9 +1103,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1083,10 +1120,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1101,10 +1138,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1119,11 +1156,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1138,43 +1175,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1186,7 +1243,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1208,7 +1265,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1223,7 +1280,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1232,76 +1289,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1316,11 +1400,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1329,7 +1408,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1361,15 +1440,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1404,18 +1474,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1430,9 +1495,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1464,15 +1529,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1507,14 +1563,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1529,11 +1580,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1548,10 +1599,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1566,7 +1617,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1605,7 +1656,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1620,7 +1671,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1628,7 +1679,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1643,7 +1694,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1651,7 +1702,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1666,7 +1717,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1674,7 +1725,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1689,14 +1740,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1728,15 +1779,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1771,11 +1813,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1786,7 +1823,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1801,10 +1838,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1819,7 +1856,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1828,18 +1865,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1854,11 +1890,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1873,11 +1909,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1892,12 +1928,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1912,7 +1948,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1926,7 +1962,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1941,7 +1977,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1955,7 +1991,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1970,16 +2006,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1999,16 +2053,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2023,11 +2077,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2042,7 +2096,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2057,36 +2111,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2095,11 +2119,59 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2114,39 +2186,90 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-// Definitions for internal mutex struct.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2155,13 +2278,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2173,7 +2340,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2182,15 +2349,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2200,8 +2367,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2215,8 +2382,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2225,13 +2392,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2250,7 +2417,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2265,7 +2432,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2282,7 +2449,7 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
type Sockaddr = struct {
Fsa_family Sa_family_t
Fsa_data [14]int8
-} /* socket.h:175:1 */
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
@@ -2291,7 +2458,7 @@ type Sockaddr_storage = struct {
Fss_family Sa_family_t
F__ss_padding [122]int8
F__ss_align uint32
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
@@ -2303,23 +2470,117 @@ type Msghdr = struct {
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
-} /* socket.h:254:1 */
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint32
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint32
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
-// Ugly workaround for unclean kernel headers.
+type X__kernel_fd_set = struct{ Ffds_bits [32]uint32 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_mode_t = uint16 /* posix_types_32.h:11:24 */
+
+type X__kernel_ipc_pid_t = uint16 /* posix_types_32.h:14:24 */
+
+type X__kernel_uid_t = uint16 /* posix_types_32.h:17:24 */
+type X__kernel_gid_t = uint16 /* posix_types_32.h:18:24 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types_32.h:21:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int32 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint32 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = uint32 /* posix_types.h:68:22 */
+type X__kernel_ssize_t = int32 /* posix_types.h:69:14 */
+type X__kernel_ptrdiff_t = int32 /* posix_types.h:70:14 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -2334,7 +2595,7 @@ type Cmsghdr = struct {
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2346,7 +2607,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2361,7 +2622,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2370,7 +2631,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2385,7 +2646,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2455,10 +2716,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2468,7 +2729,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2477,35 +2738,35 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
@@ -2515,7 +2776,7 @@ type Group_req = struct {
F__ss_padding [122]int8
F__ss_align uint32
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
@@ -2529,7 +2790,7 @@ type Group_source_req = struct {
F__ss_padding [122]int8
F__ss_align uint32
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2538,7 +2799,7 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
@@ -2554,10 +2815,10 @@ type Group_filter = struct {
F__ss_padding [122]int8
F__ss_align uint32
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2572,7 +2833,7 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This is necessary to make this include file properly replace the
// Sun version.
@@ -2609,7 +2870,7 @@ type Group_filter = struct {
// added multiple inclusion protection and use of <sys/cdefs.h>.
// In GNU this file is #include'd by <netdb.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2624,9 +2885,9 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -2658,15 +2919,6 @@ type Group_filter = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -2701,11 +2953,6 @@ type Group_filter = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
type Rpcent = struct {
@@ -2714,7 +2961,7 @@ type Rpcent = struct {
Fr_number int32
} /* netdb.h:46:1 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2729,7 +2976,7 @@ type Rpcent = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Description of data base entry for a single network. NOTE: here a
// poor assumption is made. The network number is expected to fit
diff --git a/vendor/modernc.org/libc/netdb/netdb_linux_amd64.go b/vendor/modernc.org/libc/netdb/netdb_linux_amd64.go
index 68bc56dec..42f1fff32 100644
--- a/vendor/modernc.org/libc/netdb/netdb_linux_amd64.go
+++ b/vendor/modernc.org/libc/netdb/netdb_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_amd64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_amd64.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
AI_ADDRCONFIG = 0x0020
AI_ALL = 0x0010
AI_CANONNAME = 0x0002
@@ -128,6 +129,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -152,6 +154,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -262,7 +265,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -285,6 +288,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -324,13 +328,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -340,6 +346,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -368,6 +375,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -379,21 +388,33 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
TRY_AGAIN = 2
+ X_ASM_X86_POSIX_TYPES_64_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -404,6 +425,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_NETDB_H = 1
X_NETINET_IN_H = 1
@@ -416,6 +438,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_RPC_NETDB_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -430,6 +453,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -539,7 +563,7 @@ const ( /* in.h:99:1: */
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -566,13 +590,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,7 +611,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -638,7 +662,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -653,13 +677,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// All data returned by the network data base library are supplied in
// host order and returned in network order (suitable for use in
// system calls).
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -674,7 +698,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -682,6 +706,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -802,6 +827,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -824,9 +851,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -841,7 +881,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -854,7 +894,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -869,7 +909,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -984,7 +1024,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -1005,11 +1045,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1024,7 +1068,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1061,7 +1105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1076,9 +1120,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1093,10 +1137,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1111,10 +1155,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1129,11 +1173,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1148,45 +1192,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1198,7 +1261,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1219,7 +1282,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1234,7 +1297,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1249,78 +1312,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1335,11 +1426,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1348,7 +1434,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1380,15 +1466,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1423,18 +1500,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1449,9 +1521,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1483,15 +1555,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1526,14 +1589,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1548,11 +1606,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1567,10 +1625,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1585,7 +1643,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1624,7 +1682,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1639,7 +1697,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1647,7 +1705,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1662,7 +1720,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1670,7 +1728,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1685,7 +1743,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1693,7 +1751,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1708,14 +1766,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1747,15 +1805,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1790,11 +1839,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1805,7 +1849,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1820,10 +1864,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1838,7 +1882,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1847,18 +1891,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1873,11 +1916,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1892,11 +1935,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1911,12 +1954,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1931,7 +1974,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1947,7 +1990,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1962,7 +2005,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1976,7 +2019,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1991,16 +2034,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -2020,16 +2081,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2044,11 +2105,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2063,7 +2124,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2078,36 +2139,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2116,11 +2147,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2135,42 +2163,141 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-// Lock elision support.
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2181,7 +2308,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2193,7 +2366,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2202,15 +2375,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2220,8 +2393,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2235,8 +2408,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2245,13 +2418,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2270,7 +2443,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2285,7 +2458,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2302,7 +2475,7 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
type Sockaddr = struct {
Fsa_family Sa_family_t
Fsa_data [14]int8
-} /* socket.h:175:1 */
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
@@ -2311,35 +2484,129 @@ type Sockaddr_storage = struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
-// Ugly workaround for unclean kernel headers.
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_old_uid_t = uint16 /* posix_types_64.h:11:24 */
+type X__kernel_old_gid_t = uint16 /* posix_types_64.h:12:24 */
+
+type X__kernel_old_dev_t = uint64 /* posix_types_64.h:15:23 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_mode_t = uint32 /* posix_types.h:24:22 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:32:14 */
+
+type X__kernel_uid_t = uint32 /* posix_types.h:36:22 */
+type X__kernel_gid_t = uint32 /* posix_types.h:37:22 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = X__kernel_ulong_t /* posix_types.h:72:26 */
+type X__kernel_ssize_t = X__kernel_long_t /* posix_types.h:73:25 */
+type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// Socket-level I/O control calls.
@@ -2352,11 +2619,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2368,7 +2637,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2383,7 +2652,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2392,7 +2661,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2407,7 +2676,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2477,10 +2746,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2490,7 +2759,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2499,50 +2768,50 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
F__ss_align uint64
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
@@ -2553,7 +2822,7 @@ type Group_source_req = struct {
F__ss_padding [118]int8
F__ss_align uint64
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2562,11 +2831,11 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgf_group struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
@@ -2579,10 +2848,10 @@ type Group_filter = struct {
F__ss_padding [118]int8
F__ss_align uint64
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2597,7 +2866,7 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This is necessary to make this include file properly replace the
// Sun version.
@@ -2634,7 +2903,7 @@ type Group_filter = struct {
// added multiple inclusion protection and use of <sys/cdefs.h>.
// In GNU this file is #include'd by <netdb.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2649,9 +2918,9 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -2683,15 +2952,6 @@ type Group_filter = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -2726,21 +2986,16 @@ type Group_filter = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
type Rpcent = struct {
- Fr_name uintptr
- Fr_aliases uintptr
- Fr_number int32
- _ [4]byte
+ Fr_name uintptr
+ Fr_aliases uintptr
+ Fr_number int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:46:1 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2755,7 +3010,7 @@ type Rpcent = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Description of data base entry for a single network. NOTE: here a
// poor assumption is made. The network number is expected to fit
@@ -2778,19 +3033,19 @@ type Hostent = struct {
// Description of data base entry for a single service.
type Servent = struct {
- Fs_name uintptr
- Fs_aliases uintptr
- Fs_port int32
- _ [4]byte
- Fs_proto uintptr
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
} /* netdb.h:255:1 */
// Description of data base entry for a single service.
type Protoent = struct {
- Fp_name uintptr
- Fp_aliases uintptr
- Fp_proto int32
- _ [4]byte
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:324:1 */
// Extension from POSIX.1:2001.
@@ -2801,7 +3056,7 @@ type Addrinfo = struct {
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fai_addr uintptr
Fai_canonname uintptr
Fai_next uintptr
diff --git a/vendor/modernc.org/libc/netdb/netdb_linux_arm.go b/vendor/modernc.org/libc/netdb/netdb_linux_arm.go
index 651a08d0c..9301fcd8d 100644
--- a/vendor/modernc.org/libc/netdb/netdb_linux_arm.go
+++ b/vendor/modernc.org/libc/netdb/netdb_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_arm.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_arm.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
AI_ADDRCONFIG = 0x0020
AI_ALL = 0x0010
AI_CANONNAME = 0x0002
@@ -128,6 +129,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -152,6 +154,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -262,7 +265,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -285,11 +288,9 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
- SCM_TIMESTAMP = 29
- SCM_TIMESTAMPING = 37
+ PF_XDP = 44
SCM_TIMESTAMPING_OPT_STATS = 54
SCM_TIMESTAMPING_PKTINFO = 58
- SCM_TIMESTAMPNS = 35
SCM_TXTIME = 61
SCM_WIFI_STATUS = 41
SIOCATMARK = 0x8905
@@ -324,13 +325,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -340,6 +343,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -367,7 +371,8 @@ const (
SO_RCVBUF = 8
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
- SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -378,10 +383,14 @@ const (
SO_SNDBUF = 7
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
- SO_SNDTIMEO = 21
- SO_TIMESTAMP = 29
- SO_TIMESTAMPING = 37
- SO_TIMESTAMPNS = 35
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
@@ -389,11 +398,14 @@ const (
TRY_AGAIN = 2
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -404,6 +416,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_NETDB_H = 1
X_NETINET_IN_H = 1
X_PATH_HEQUIV = "/etc/hosts.equiv"
@@ -429,6 +442,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -437,7 +451,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -464,13 +478,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -485,7 +499,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -628,7 +642,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -643,13 +657,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// All data returned by the network data base library are supplied in
// host order and returned in network order (suitable for use in
// system calls).
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -664,7 +678,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -672,6 +686,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -792,6 +807,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -814,9 +831,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -831,7 +861,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -844,7 +874,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -859,7 +889,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -974,7 +1004,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -995,7 +1025,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1010,10 +1044,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1028,7 +1062,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -1081,7 +1115,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1096,9 +1130,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1113,10 +1147,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1131,10 +1165,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1149,11 +1183,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1168,9 +1202,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1185,41 +1219,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1231,7 +1302,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1253,7 +1324,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1268,83 +1339,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1359,11 +1457,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1372,7 +1465,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1404,15 +1497,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1447,18 +1531,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1473,9 +1552,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1507,15 +1586,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1550,14 +1620,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1572,11 +1637,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1591,10 +1656,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1609,7 +1674,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1648,7 +1713,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1663,7 +1728,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1671,7 +1736,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1686,7 +1751,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1694,7 +1759,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1709,7 +1774,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1717,7 +1782,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1732,14 +1797,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1771,15 +1836,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1814,11 +1870,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1829,7 +1880,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1844,10 +1895,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1862,7 +1913,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1871,18 +1922,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1897,11 +1947,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1916,11 +1966,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1935,12 +1985,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1955,7 +2005,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1970,7 +2020,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1985,7 +2035,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1999,7 +2049,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2014,16 +2064,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -2043,16 +2111,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2067,11 +2135,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2086,7 +2154,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2101,35 +2169,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
@@ -2139,11 +2282,27 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2157,10 +2316,94 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2177,7 +2420,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
type X__pthread_rwlock_arch_t = struct {
F__readers uint32
@@ -2191,27 +2437,7 @@ type X__pthread_rwlock_arch_t = struct {
F__pad1 uint8
F__pad2 uint8
F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
-
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
-
-type X__pthread_mutex_s = struct {
- F__lock int32
- F__count uint32
- F__owner int32
- F__kind int32
- F__nusers uint32
- F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -2223,7 +2449,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2232,15 +2458,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2250,8 +2476,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2265,8 +2491,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2275,13 +2501,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2300,7 +2526,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2315,7 +2541,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2331,17 +2557,17 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
@@ -2353,20 +2579,121 @@ type Msghdr = struct {
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
-} /* socket.h:254:1 */
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint32
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint32
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
-// Ugly workaround for unclean kernel headers.
+type X__kernel_fd_set = struct{ Ffds_bits [32]uint32 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// arch/arm/include/asm/posix_types.h
+//
+// Copyright (C) 1996-1998 Russell King.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+// Changelog:
+// 27-06-1996 RMK Created
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_mode_t = uint16 /* posix_types.h:23:25 */
+
+type X__kernel_ipc_pid_t = uint16 /* posix_types.h:26:25 */
+
+type X__kernel_uid_t = uint16 /* posix_types.h:29:25 */
+type X__kernel_gid_t = uint16 /* posix_types.h:30:25 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types.h:33:25 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int32 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint32 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = uint32 /* posix_types.h:68:22 */
+type X__kernel_ssize_t = int32 /* posix_types.h:69:14 */
+type X__kernel_ptrdiff_t = int32 /* posix_types.h:70:14 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
@@ -2384,7 +2711,7 @@ type Cmsghdr = struct {
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2396,7 +2723,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2411,7 +2738,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2420,7 +2747,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2435,7 +2762,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2468,7 +2795,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// source route (this gets put into the header proper).
type Ip_opts = struct {
Fip_dst struct{ Fs_addr In_addr_t }
- Fip_opts [40]int8
+ Fip_opts [40]uint8
} /* in.h:142:1 */
// Like `struct ip_mreq' but including interface specification by index.
@@ -2505,10 +2832,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2518,7 +2845,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2527,59 +2854,59 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
Fgr_group struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
Fgsr_group struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
Fgsr_source struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2588,26 +2915,26 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
Fgf_group struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
Fgf_fmode Uint32_t
Fgf_numsrc Uint32_t
Fgf_slist [1]struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2622,7 +2949,7 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This is necessary to make this include file properly replace the
// Sun version.
@@ -2659,7 +2986,7 @@ type Group_filter = struct {
// added multiple inclusion protection and use of <sys/cdefs.h>.
// In GNU this file is #include'd by <netdb.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2674,9 +3001,9 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -2708,15 +3035,6 @@ type Group_filter = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -2751,11 +3069,6 @@ type Group_filter = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
type Rpcent = struct {
@@ -2764,7 +3077,7 @@ type Rpcent = struct {
Fr_number int32
} /* netdb.h:46:1 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2779,7 +3092,7 @@ type Rpcent = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Description of data base entry for a single network. NOTE: here a
// poor assumption is made. The network number is expected to fit
@@ -2828,4 +3141,4 @@ type Addrinfo = struct {
Fai_next uintptr
} /* netdb.h:565:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netdb/netdb_linux_arm64.go b/vendor/modernc.org/libc/netdb/netdb_linux_arm64.go
index 1171209e9..869851d17 100644
--- a/vendor/modernc.org/libc/netdb/netdb_linux_arm64.go
+++ b/vendor/modernc.org/libc/netdb/netdb_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_arm64.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_arm64.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
AI_ADDRCONFIG = 0x0020
AI_ALL = 0x0010
AI_CANONNAME = 0x0002
@@ -128,6 +129,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -152,6 +154,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -262,7 +265,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -285,6 +288,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -324,13 +328,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -340,6 +346,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -368,6 +375,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -379,9 +388,17 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
@@ -389,11 +406,14 @@ const (
TRY_AGAIN = 2
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -404,6 +424,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_NETDB_H = 1
X_NETINET_IN_H = 1
@@ -416,6 +437,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_RPC_NETDB_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -430,6 +452,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -438,7 +461,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -465,13 +488,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -486,7 +509,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -638,7 +661,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -653,13 +676,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// All data returned by the network data base library are supplied in
// host order and returned in network order (suitable for use in
// system calls).
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -674,7 +697,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -682,6 +705,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -802,6 +826,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -824,9 +850,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -841,7 +880,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -854,7 +893,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -869,7 +908,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -984,7 +1023,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -1005,9 +1044,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1022,10 +1065,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1040,7 +1083,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1074,7 +1117,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1089,14 +1132,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1111,9 +1154,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1128,10 +1171,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1146,10 +1189,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1164,11 +1207,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1183,11 +1226,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1202,41 +1245,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1248,7 +1330,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1269,7 +1351,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -1285,7 +1367,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1298,78 +1380,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1384,11 +1493,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1397,7 +1501,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1429,15 +1533,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1472,18 +1567,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1498,9 +1588,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1532,15 +1622,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1575,14 +1656,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1597,11 +1673,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1616,10 +1692,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1634,7 +1710,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1673,7 +1749,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1688,7 +1764,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1696,7 +1772,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1711,7 +1787,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1719,7 +1795,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1734,7 +1810,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1742,7 +1818,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1757,14 +1833,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1796,15 +1872,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1839,11 +1906,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1854,7 +1916,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1869,10 +1931,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1887,7 +1949,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1896,18 +1958,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1922,11 +1983,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1941,11 +2002,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1960,12 +2021,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1980,7 +2041,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1995,7 +2056,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2010,7 +2071,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2024,7 +2085,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2039,16 +2100,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -2068,16 +2147,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2092,11 +2171,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2111,7 +2190,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2126,36 +2205,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2164,11 +2213,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -2184,9 +2230,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2203,36 +2250,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2242,7 +2408,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2254,7 +2465,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2263,15 +2474,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2281,15 +2492,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -2299,8 +2510,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2309,13 +2520,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2334,7 +2545,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2349,7 +2560,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2365,47 +2576,149 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+type X__kernel_old_uid_t = uint16 /* posix_types.h:5:24 */
+type X__kernel_old_gid_t = uint16 /* posix_types.h:6:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// Copyright (C) 2012 ARM Ltd.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_mode_t = uint32 /* posix_types.h:24:22 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:32:14 */
+
+type X__kernel_uid_t = uint32 /* posix_types.h:36:22 */
+type X__kernel_gid_t = uint32 /* posix_types.h:37:22 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_dev_t = uint32 /* posix_types.h:59:22 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = X__kernel_ulong_t /* posix_types.h:72:26 */
+type X__kernel_ssize_t = X__kernel_long_t /* posix_types.h:73:25 */
+type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -2416,11 +2729,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2432,7 +2747,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2447,7 +2762,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2456,7 +2771,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2471,7 +2786,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2504,7 +2819,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// source route (this gets put into the header proper).
type Ip_opts = struct {
Fip_dst struct{ Fs_addr In_addr_t }
- Fip_opts [40]int8
+ Fip_opts [40]uint8
} /* in.h:142:1 */
// Like `struct ip_mreq' but including interface specification by index.
@@ -2541,10 +2856,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2554,7 +2869,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2563,61 +2878,61 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgsr_source struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2626,27 +2941,27 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgf_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgf_fmode Uint32_t
Fgf_numsrc Uint32_t
Fgf_slist [1]struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2661,7 +2976,7 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This is necessary to make this include file properly replace the
// Sun version.
@@ -2698,7 +3013,7 @@ type Group_filter = struct {
// added multiple inclusion protection and use of <sys/cdefs.h>.
// In GNU this file is #include'd by <netdb.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2713,9 +3028,9 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -2747,15 +3062,6 @@ type Group_filter = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -2790,21 +3096,16 @@ type Group_filter = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
type Rpcent = struct {
- Fr_name uintptr
- Fr_aliases uintptr
- Fr_number int32
- _ [4]byte
+ Fr_name uintptr
+ Fr_aliases uintptr
+ Fr_number int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:46:1 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2819,7 +3120,7 @@ type Rpcent = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Description of data base entry for a single network. NOTE: here a
// poor assumption is made. The network number is expected to fit
@@ -2842,19 +3143,19 @@ type Hostent = struct {
// Description of data base entry for a single service.
type Servent = struct {
- Fs_name uintptr
- Fs_aliases uintptr
- Fs_port int32
- _ [4]byte
- Fs_proto uintptr
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
} /* netdb.h:255:1 */
// Description of data base entry for a single service.
type Protoent = struct {
- Fp_name uintptr
- Fp_aliases uintptr
- Fp_proto int32
- _ [4]byte
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:324:1 */
// Extension from POSIX.1:2001.
@@ -2865,10 +3166,10 @@ type Addrinfo = struct {
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fai_addr uintptr
Fai_canonname uintptr
Fai_next uintptr
} /* netdb.h:565:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netdb/netdb_linux_s390x.go b/vendor/modernc.org/libc/netdb/netdb_linux_s390x.go
index 073d5a60d..eb3e6ed39 100644
--- a/vendor/modernc.org/libc/netdb/netdb_linux_s390x.go
+++ b/vendor/modernc.org/libc/netdb/netdb_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_linux_s390x.go -pkgname netdb', DO NOT EDIT.
+// Code generated by 'ccgo netdb/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 netdb/netdb_linux_s390x.go -pkgname netdb', DO NOT EDIT.
package netdb
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
AI_ADDRCONFIG = 0x0020
AI_ALL = 0x0010
AI_CANONNAME = 0x0002
@@ -128,6 +129,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -152,6 +154,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -262,7 +265,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -285,6 +288,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -324,13 +328,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -340,6 +346,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -368,6 +375,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -379,22 +388,32 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
TRY_AGAIN = 2
- X_ASM_SOCKET_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -405,6 +424,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_NETDB_H = 1
X_NETINET_IN_H = 1
@@ -417,6 +437,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_RPC_NETDB_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -431,6 +452,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -439,7 +461,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -466,13 +488,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -487,7 +509,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -639,7 +661,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -654,13 +676,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// All data returned by the network data base library are supplied in
// host order and returned in network order (suitable for use in
// system calls).
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -675,7 +697,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -683,6 +705,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -803,6 +826,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -825,9 +850,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -842,7 +880,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -855,7 +893,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -870,7 +908,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -985,7 +1023,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -1006,10 +1044,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1024,7 +1066,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -1060,7 +1102,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1075,9 +1117,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1092,10 +1134,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1110,10 +1152,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1128,11 +1170,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1147,43 +1189,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1195,7 +1259,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1216,7 +1280,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1231,7 +1295,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1246,78 +1310,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1332,11 +1424,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1345,7 +1432,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1377,15 +1464,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1420,18 +1498,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1446,9 +1519,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1480,15 +1553,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1523,14 +1587,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1545,11 +1604,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1564,10 +1623,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1582,7 +1641,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1621,7 +1680,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1636,7 +1695,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1644,7 +1703,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1659,7 +1718,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1667,7 +1726,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1682,7 +1741,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1690,7 +1749,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1705,14 +1764,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1744,15 +1803,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1787,11 +1837,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1802,7 +1847,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1817,10 +1862,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1835,7 +1880,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1844,18 +1889,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1870,11 +1914,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1889,11 +1933,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1908,12 +1952,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1928,7 +1972,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1943,7 +1987,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1958,7 +2002,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1972,7 +2016,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1987,16 +2031,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -2016,16 +2078,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2040,11 +2102,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2059,7 +2121,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2074,36 +2136,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2112,11 +2144,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2135,35 +2166,135 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2174,7 +2305,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2186,7 +2362,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2195,15 +2371,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2213,8 +2389,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2228,8 +2404,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2238,13 +2414,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2263,7 +2439,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2278,7 +2454,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2294,47 +2470,138 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// S390 version
//
-// Derived from "include/asm-i386/socket.h"
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_size_t = uint64 /* posix_types.h:16:25 */
+type X__kernel_ssize_t = int64 /* posix_types.h:17:25 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types.h:20:24 */
+
+type X__kernel_ino_t = uint32 /* posix_types.h:35:25 */
+type X__kernel_mode_t = uint32 /* posix_types.h:36:25 */
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:37:25 */
+type X__kernel_uid_t = uint32 /* posix_types.h:38:25 */
+type X__kernel_gid_t = uint32 /* posix_types.h:39:25 */
+type X__kernel_ptrdiff_t = int64 /* posix_types.h:40:25 */
+type X__kernel_sigset_t = uint64 /* posix_types.h:41:25 */ // at least 32 bits
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
@@ -2348,11 +2615,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2364,7 +2633,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2379,7 +2648,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2388,7 +2657,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2403,7 +2672,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2436,7 +2705,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// source route (this gets put into the header proper).
type Ip_opts = struct {
Fip_dst struct{ Fs_addr In_addr_t }
- Fip_opts [40]int8
+ Fip_opts [40]uint8
} /* in.h:142:1 */
// Like `struct ip_mreq' but including interface specification by index.
@@ -2473,10 +2742,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2486,7 +2755,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2495,61 +2764,61 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgsr_source struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2558,27 +2827,27 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgf_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgf_fmode Uint32_t
Fgf_numsrc Uint32_t
Fgf_slist [1]struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2593,7 +2862,7 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This is necessary to make this include file properly replace the
// Sun version.
@@ -2630,7 +2899,7 @@ type Group_filter = struct {
// added multiple inclusion protection and use of <sys/cdefs.h>.
// In GNU this file is #include'd by <netdb.h>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2645,9 +2914,9 @@ type Group_filter = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -2679,15 +2948,6 @@ type Group_filter = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -2722,21 +2982,16 @@ type Group_filter = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
type Rpcent = struct {
- Fr_name uintptr
- Fr_aliases uintptr
- Fr_number int32
- _ [4]byte
+ Fr_name uintptr
+ Fr_aliases uintptr
+ Fr_number int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:46:1 */
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2751,7 +3006,7 @@ type Rpcent = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Description of data base entry for a single network. NOTE: here a
// poor assumption is made. The network number is expected to fit
@@ -2774,19 +3029,19 @@ type Hostent = struct {
// Description of data base entry for a single service.
type Servent = struct {
- Fs_name uintptr
- Fs_aliases uintptr
- Fs_port int32
- _ [4]byte
- Fs_proto uintptr
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
} /* netdb.h:255:1 */
// Description of data base entry for a single service.
type Protoent = struct {
- Fp_name uintptr
- Fp_aliases uintptr
- Fp_proto int32
- _ [4]byte
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
} /* netdb.h:324:1 */
// Extension from POSIX.1:2001.
@@ -2797,10 +3052,10 @@ type Addrinfo = struct {
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fai_addr uintptr
Fai_canonname uintptr
Fai_next uintptr
} /* netdb.h:565:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netdb/netdb_netbsd_amd64.go b/vendor/modernc.org/libc/netdb/netdb_netbsd_amd64.go
new file mode 100644
index 000000000..216e52dea
--- /dev/null
+++ b/vendor/modernc.org/libc/netdb/netdb_netbsd_amd64.go
@@ -0,0 +1,1018 @@
+// Code generated by 'ccgo netdb/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 netdb/netdb_netbsd_amd64.go -pkgname netdb', DO NOT EDIT.
+
+package netdb
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ AI_ADDRCONFIG = 0x00000400
+ AI_CANONNAME = 0x00000002
+ AI_MASK = 3087
+ AI_NUMERICHOST = 0x00000004
+ AI_NUMERICSERV = 0x00000008
+ AI_PASSIVE = 0x00000001
+ AI_SRV = 0x00000800
+ EAI_ADDRFAMILY = 1
+ EAI_AGAIN = 2
+ EAI_BADFLAGS = 3
+ EAI_BADHINTS = 12
+ EAI_FAIL = 4
+ EAI_FAMILY = 5
+ EAI_MAX = 15
+ EAI_MEMORY = 6
+ EAI_NODATA = 7
+ EAI_NONAME = 8
+ EAI_OVERFLOW = 14
+ EAI_PROTOCOL = 13
+ EAI_SERVICE = 9
+ EAI_SOCKTYPE = 10
+ EAI_SYSTEM = 11
+ HOST_NOT_FOUND = 1
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ NETDB_INTERNAL = -1
+ NETDB_SUCCESS = 0
+ NI_DGRAM = 0x00000010
+ NI_MAXHOST = 1025
+ NI_MAXSERV = 32
+ NI_NAMEREQD = 0x00000004
+ NI_NOFQDN = 0x00000001
+ NI_NUMERICHOST = 0x00000002
+ NI_NUMERICSCOPE = 0x00000040
+ NI_NUMERICSERV = 0x00000008
+ NI_WITHSCOPEID = 0x00000020
+ NO_ADDRESS = 4
+ NO_DATA = 4
+ NO_RECOVERY = 3
+ PRIX16 = "X"
+ PRIX32 = "X"
+ PRIX64 = "lX"
+ PRIX8 = "X"
+ PRIXFAST16 = "X"
+ PRIXFAST32 = "X"
+ PRIXFAST64 = "lX"
+ PRIXFAST8 = "X"
+ PRIXLEAST16 = "X"
+ PRIXLEAST32 = "X"
+ PRIXLEAST64 = "lX"
+ PRIXLEAST8 = "X"
+ PRIXMAX = "lX"
+ PRIXPTR = "lX"
+ PRId16 = "d"
+ PRId32 = "d"
+ PRId64 = "ld"
+ PRId8 = "d"
+ PRIdFAST16 = "d"
+ PRIdFAST32 = "d"
+ PRIdFAST64 = "ld"
+ PRIdFAST8 = "d"
+ PRIdLEAST16 = "d"
+ PRIdLEAST32 = "d"
+ PRIdLEAST64 = "ld"
+ PRIdLEAST8 = "d"
+ PRIdMAX = "ld"
+ PRIdPTR = "ld"
+ PRIi16 = "i"
+ PRIi32 = "i"
+ PRIi64 = "li"
+ PRIi8 = "i"
+ PRIiFAST16 = "i"
+ PRIiFAST32 = "i"
+ PRIiFAST64 = "li"
+ PRIiFAST8 = "i"
+ PRIiLEAST16 = "i"
+ PRIiLEAST32 = "i"
+ PRIiLEAST64 = "li"
+ PRIiLEAST8 = "i"
+ PRIiMAX = "li"
+ PRIiPTR = "li"
+ PRIo16 = "o"
+ PRIo32 = "o"
+ PRIo64 = "lo"
+ PRIo8 = "o"
+ PRIoFAST16 = "o"
+ PRIoFAST32 = "o"
+ PRIoFAST64 = "lo"
+ PRIoFAST8 = "o"
+ PRIoLEAST16 = "o"
+ PRIoLEAST32 = "o"
+ PRIoLEAST64 = "lo"
+ PRIoLEAST8 = "o"
+ PRIoMAX = "lo"
+ PRIoPTR = "lo"
+ PRIu16 = "u"
+ PRIu32 = "u"
+ PRIu64 = "lu"
+ PRIu8 = "u"
+ PRIuFAST16 = "u"
+ PRIuFAST32 = "u"
+ PRIuFAST64 = "lu"
+ PRIuFAST8 = "u"
+ PRIuLEAST16 = "u"
+ PRIuLEAST32 = "u"
+ PRIuLEAST64 = "lu"
+ PRIuLEAST8 = "u"
+ PRIuMAX = "lu"
+ PRIuPTR = "lu"
+ PRIx16 = "x"
+ PRIx32 = "x"
+ PRIx64 = "lx"
+ PRIx8 = "x"
+ PRIxFAST16 = "x"
+ PRIxFAST32 = "x"
+ PRIxFAST64 = "lx"
+ PRIxFAST8 = "x"
+ PRIxLEAST16 = "x"
+ PRIxLEAST32 = "x"
+ PRIxLEAST64 = "lx"
+ PRIxLEAST8 = "x"
+ PRIxMAX = "lx"
+ PRIxPTR = "lx"
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SCNd16 = "hd"
+ SCNd32 = "d"
+ SCNd64 = "ld"
+ SCNd8 = "hhd"
+ SCNdFAST16 = "d"
+ SCNdFAST32 = "d"
+ SCNdFAST64 = "ld"
+ SCNdFAST8 = "d"
+ SCNdLEAST16 = "hd"
+ SCNdLEAST32 = "d"
+ SCNdLEAST64 = "ld"
+ SCNdLEAST8 = "hhd"
+ SCNdMAX = "ld"
+ SCNdPTR = "ld"
+ SCNi16 = "hi"
+ SCNi32 = "i"
+ SCNi64 = "li"
+ SCNi8 = "hhi"
+ SCNiFAST16 = "i"
+ SCNiFAST32 = "i"
+ SCNiFAST64 = "li"
+ SCNiFAST8 = "i"
+ SCNiLEAST16 = "hi"
+ SCNiLEAST32 = "i"
+ SCNiLEAST64 = "li"
+ SCNiLEAST8 = "hhi"
+ SCNiMAX = "li"
+ SCNiPTR = "li"
+ SCNo16 = "ho"
+ SCNo32 = "o"
+ SCNo64 = "lo"
+ SCNo8 = "hho"
+ SCNoFAST16 = "o"
+ SCNoFAST32 = "o"
+ SCNoFAST64 = "lo"
+ SCNoFAST8 = "o"
+ SCNoLEAST16 = "ho"
+ SCNoLEAST32 = "o"
+ SCNoLEAST64 = "lo"
+ SCNoLEAST8 = "hho"
+ SCNoMAX = "lo"
+ SCNoPTR = "lo"
+ SCNu16 = "hu"
+ SCNu32 = "u"
+ SCNu64 = "lu"
+ SCNu8 = "hhu"
+ SCNuFAST16 = "u"
+ SCNuFAST32 = "u"
+ SCNuFAST64 = "lu"
+ SCNuFAST8 = "u"
+ SCNuLEAST16 = "hu"
+ SCNuLEAST32 = "u"
+ SCNuLEAST64 = "lu"
+ SCNuLEAST8 = "hhu"
+ SCNuMAX = "lu"
+ SCNuPTR = "lu"
+ SCNx16 = "hx"
+ SCNx32 = "x"
+ SCNx64 = "lx"
+ SCNx8 = "hhx"
+ SCNxFAST16 = "x"
+ SCNxFAST32 = "x"
+ SCNxFAST64 = "lx"
+ SCNxFAST8 = "x"
+ SCNxLEAST16 = "hx"
+ SCNxLEAST32 = "x"
+ SCNxLEAST64 = "lx"
+ SCNxLEAST8 = "hhx"
+ SCNxMAX = "lx"
+ SCNxPTR = "lx"
+ SCOPE_DELIMITER = 37
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ TRY_AGAIN = 2
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_FMTIO_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_INTTYPES_H_ = 0
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_NETDB_H_ = 0
+ X_PATH_HEQUIV = "/etc/hosts.equiv"
+ X_PATH_HOSTS = "/etc/hosts"
+ X_PATH_NETWORKS = "/etc/networks"
+ X_PATH_PROTOCOLS = "/etc/protocols"
+ X_PATH_SERVICES = "/etc/services"
+ X_PATH_SERVICES_CDB = "/var/db/services.cdb"
+ X_PATH_SERVICES_DB = "/var/db/services.db"
+ X_SYS_ANSI_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_INTTYPES_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: endian_machdep.h,v 1.4 2006/01/30 21:52:38 dsl Exp $
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: inttypes.h,v 1.11 2015/01/16 18:35:59 christos Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: inttypes.h,v 1.6 2013/04/22 21:26:48 joerg Exp $
+
+// -
+// Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus J. Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.8 Format conversion of integer types
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Int8_t = X__int8_t /* stdint.h:39:18 */
+
+type Uint8_t = X__uint8_t /* stdint.h:44:19 */
+
+type Int16_t = X__int16_t /* stdint.h:49:19 */
+
+type Uint16_t = X__uint16_t /* stdint.h:54:20 */
+
+type Int32_t = X__int32_t /* stdint.h:59:19 */
+
+type Uint32_t = X__uint32_t /* stdint.h:64:20 */
+
+type Int64_t = X__int64_t /* stdint.h:69:19 */
+
+type Uint64_t = X__uint64_t /* stdint.h:74:20 */
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type Imaxdiv_t = struct {
+ Fquot Intmax_t
+ Frem Intmax_t
+} /* inttypes.h:60:3 */
+
+type Locale_t = uintptr /* inttypes.h:66:25 */
+
+// Data types
+type Socklen_t = X__socklen_t /* netdb.h:102:21 */
+
+// %
+// Structures returned by network data base library. All addresses are
+// supplied in host order, and returned in network order (suitable for
+// use in system calls).
+type Hostent = struct {
+ Fh_name uintptr
+ Fh_aliases uintptr
+ Fh_addrtype int32
+ Fh_length int32
+ Fh_addr_list uintptr
+} /* netdb.h:148:1 */
+
+// %
+// Assumption here is that a network number
+// fits in an unsigned long -- probably a poor one.
+type Netent = struct {
+ Fn_name uintptr
+ Fn_aliases uintptr
+ Fn_addrtype int32
+ Fn_net Uint32_t
+} /* netdb.h:161:1 */
+
+type Servent = struct {
+ Fs_name uintptr
+ Fs_aliases uintptr
+ Fs_port int32
+ F__ccgo_pad1 [4]byte
+ Fs_proto uintptr
+} /* netdb.h:176:1 */
+
+type Protoent = struct {
+ Fp_name uintptr
+ Fp_aliases uintptr
+ Fp_proto int32
+ F__ccgo_pad1 [4]byte
+} /* netdb.h:183:1 */
+
+// Note: ai_addrlen used to be a size_t, per RFC 2553.
+// In XNS5.2, and subsequently in POSIX-2001 and
+// draft-ietf-ipngwg-rfc2553bis-02.txt it was changed to a socklen_t.
+// To accommodate for this while preserving binary compatibility with the
+// old interface, we prepend or append 32 bits of padding, depending on
+// the (LP64) architecture's endianness.
+//
+// This should be deleted the next time the libc major number is
+// incremented.
+type Addrinfo = struct {
+ Fai_flags int32
+ Fai_family int32
+ Fai_socktype int32
+ Fai_protocol int32
+ Fai_addrlen X__socklen_t
+ F__ccgo_pad1 [4]byte
+ Fai_canonname uintptr
+ Fai_addr uintptr
+ Fai_next uintptr
+} /* netdb.h:202:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netinet/in/capi_darwin_amd64.go b/vendor/modernc.org/libc/netinet/in/capi_darwin_amd64.go
index 3dc4a83a5..8883b013f 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_darwin_amd64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_darwin_amd64.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_darwin_arm64.go b/vendor/modernc.org/libc/netinet/in/capi_darwin_arm64.go
index 0bdc4508c..0363e2c89 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_darwin_arm64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_darwin_arm64.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_linux_386.go b/vendor/modernc.org/libc/netinet/in/capi_linux_386.go
index 6cda465c0..4b077477e 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_linux_386.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_386.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_386.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_linux_amd64.go b/vendor/modernc.org/libc/netinet/in/capi_linux_amd64.go
index 9e510917e..53137ada8 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_amd64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_amd64.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_linux_arm.go b/vendor/modernc.org/libc/netinet/in/capi_linux_arm.go
index caae184a9..8448f0135 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_arm.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_arm.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_linux_arm64.go b/vendor/modernc.org/libc/netinet/in/capi_linux_arm64.go
index 5a44162c5..d4619795a 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_arm64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_arm64.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_linux_s390x.go b/vendor/modernc.org/libc/netinet/in/capi_linux_s390x.go
index 931d9a4c6..a2fbd12bb 100644
--- a/vendor/modernc.org/libc/netinet/in/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/netinet/in/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_s390x.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_s390x.go -pkgname in', DO NOT EDIT.
package in
diff --git a/vendor/modernc.org/libc/netinet/in/capi_netbsd_amd64.go b/vendor/modernc.org/libc/netinet/in/capi_netbsd_amd64.go
new file mode 100644
index 000000000..9c3c7e58d
--- /dev/null
+++ b/vendor/modernc.org/libc/netinet/in/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_netbsd_amd64.go -pkgname in', DO NOT EDIT.
+
+package in
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/netinet/in/in_darwin_amd64.go b/vendor/modernc.org/libc/netinet/in/in_darwin_amd64.go
index a58d3fb8c..cd7efd2e3 100644
--- a/vendor/modernc.org/libc/netinet/in/in_darwin_amd64.go
+++ b/vendor/modernc.org/libc/netinet/in/in_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_darwin_amd64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_darwin_amd64.go -pkgname in', DO NOT EDIT.
package in
@@ -1273,8 +1273,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -5404,13 +5404,13 @@ type Sae_connid_t = X__uint32_t /* socket.h:293:20 */
// sockaddr endpoints
type Sa_endpoints = struct {
Fsae_srcif uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsae_srcaddr uintptr
Fsae_srcaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fsae_dstaddr uintptr
Fsae_dstaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:303:9 */
// connectx() flag parameters
@@ -5484,10 +5484,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -5519,12 +5519,12 @@ type Cmsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:678:1 */
// The following two #includes insure htonl and family are defined
@@ -5776,7 +5776,7 @@ type Ip_mreq_source = struct {
// Filter APIs. [RFC3678]
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -5788,7 +5788,7 @@ type Group_req = struct {
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -6056,8 +6056,8 @@ type In_pktinfo = struct {
// IPv6 address
type In6_addr = struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
} /* in6.h:151:9 */
@@ -6274,8 +6274,8 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo X__uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fsin6_scope_id X__uint32_t
@@ -6351,8 +6351,8 @@ type Sockaddr_in6 = struct {
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fipv6mr_interface uint32
@@ -6362,8 +6362,8 @@ type Ipv6_mreq = struct {
type In6_pktinfo = struct {
Fipi6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fipi6_ifindex uint32
@@ -6378,8 +6378,8 @@ type Ip6_mtuinfo = struct {
Fsin6_flowinfo X__uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]X__uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
}
}
Fsin6_scope_id X__uint32_t
diff --git a/vendor/modernc.org/libc/netinet/in/in_darwin_arm64.go b/vendor/modernc.org/libc/netinet/in/in_darwin_arm64.go
index 87df8b915..3a01ef8ca 100644
--- a/vendor/modernc.org/libc/netinet/in/in_darwin_arm64.go
+++ b/vendor/modernc.org/libc/netinet/in/in_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_darwin_arm64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_darwin_arm64.go -pkgname in', DO NOT EDIT.
package in
@@ -2488,7 +2488,7 @@ type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -5335,13 +5335,13 @@ type Sae_connid_t = X__uint32_t /* socket.h:293:20 */
// sockaddr endpoints
type Sa_endpoints = struct {
Fsae_srcif uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsae_srcaddr uintptr
Fsae_srcaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fsae_dstaddr uintptr
Fsae_dstaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:303:9 */
// connectx() flag parameters
@@ -5415,10 +5415,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -5450,12 +5450,12 @@ type Cmsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:687:1 */
// The following two #includes insure htonl and family are defined
@@ -5707,7 +5707,7 @@ type Ip_mreq_source = struct {
// Filter APIs. [RFC3678]
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
@@ -5719,7 +5719,7 @@ type Group_req = struct {
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
diff --git a/vendor/modernc.org/libc/netinet/in/in_freebsd_amd64.go b/vendor/modernc.org/libc/netinet/in/in_freebsd_amd64.go
index f7df467cd..9a1b10061 100644
--- a/vendor/modernc.org/libc/netinet/in/in_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/netinet/in/in_freebsd_amd64.go
@@ -952,8 +952,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -1275,7 +1275,7 @@ type Ip_mreq_source = struct {
// Filter APIs. [RFC3678]
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_len uint8
Fss_family Sa_family_t
@@ -1287,7 +1287,7 @@ type Group_req = struct {
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_len uint8
Fss_family Sa_family_t
@@ -1311,7 +1311,7 @@ type X__msfilterreq = struct {
Fmsfr_ifindex Uint32_t
Fmsfr_fmode Uint32_t
Fmsfr_nsrcs Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsfr_group struct {
Fss_len uint8
Fss_family Sa_family_t
@@ -1408,8 +1408,8 @@ type X__msfilterreq = struct {
// IPv6 address
type In6_addr = struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
} /* in6.h:97:1 */
@@ -1424,8 +1424,8 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
@@ -1446,13 +1446,13 @@ type Route_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* in6.h:379:1 */
// Options for use with [gs]etsockopt at the IPV6 level.
@@ -1485,8 +1485,8 @@ type Route_in6 = struct {
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
@@ -1496,8 +1496,8 @@ type Ipv6_mreq = struct {
type In6_pktinfo = struct {
Fipi6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipi6_ifindex uint32
@@ -1512,8 +1512,8 @@ type Ip6_mtuinfo = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__u6_addr struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
diff --git a/vendor/modernc.org/libc/netinet/in/in_linux_386.go b/vendor/modernc.org/libc/netinet/in/in_linux_386.go
index 068d86005..f1f0cdea3 100644
--- a/vendor/modernc.org/libc/netinet/in/in_linux_386.go
+++ b/vendor/modernc.org/libc/netinet/in/in_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_386.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_386.go -pkgname in', DO NOT EDIT.
package in
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -109,6 +110,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -133,6 +135,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -231,7 +234,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -254,11 +257,9 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
- SCM_TIMESTAMP = 29
- SCM_TIMESTAMPING = 37
+ PF_XDP = 44
SCM_TIMESTAMPING_OPT_STATS = 54
SCM_TIMESTAMPING_PKTINFO = 58
- SCM_TIMESTAMPNS = 35
SCM_TXTIME = 61
SCM_WIFI_STATUS = 41
SIOCATMARK = 0x8905
@@ -293,13 +294,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -309,6 +312,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -336,7 +340,8 @@ const (
SO_RCVBUF = 8
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
- SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -347,21 +352,29 @@ const (
SO_SNDBUF = 7
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
- SO_SNDTIMEO = 21
- SO_TIMESTAMP = 29
- SO_TIMESTAMPING = 37
- SO_TIMESTAMPNS = 35
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
+ X_ASM_X86_POSIX_TYPES_32_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -372,9 +385,12 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
+ X_LINUX_POSIX_TYPES_H = 0
X_NETINET_IN_H = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -389,6 +405,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -398,7 +415,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -425,13 +442,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +463,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -589,7 +606,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -604,9 +621,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -621,7 +638,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -629,6 +646,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -749,6 +767,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -771,9 +791,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -788,7 +821,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -801,7 +834,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -816,7 +849,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -931,7 +964,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -952,10 +985,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -970,7 +1007,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1008,7 +1045,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1023,10 +1060,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1041,11 +1078,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1060,43 +1097,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1108,7 +1165,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1130,7 +1187,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1145,7 +1202,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1154,76 +1211,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1238,11 +1322,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1251,7 +1330,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1283,15 +1362,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1326,18 +1396,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1352,9 +1417,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1386,15 +1451,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1429,14 +1485,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1451,11 +1502,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1470,10 +1521,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1488,7 +1539,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1527,7 +1578,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1542,7 +1593,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1550,7 +1601,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1565,7 +1616,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1573,7 +1624,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1588,7 +1639,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1596,7 +1647,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1611,14 +1662,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1650,15 +1701,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1693,11 +1735,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1708,7 +1745,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1723,10 +1760,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1741,7 +1778,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1750,18 +1787,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1776,11 +1812,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1795,11 +1831,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1814,12 +1850,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1834,7 +1870,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1848,7 +1884,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1863,7 +1899,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1877,7 +1913,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1892,16 +1928,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1921,16 +1975,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1945,11 +1999,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1964,7 +2018,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1979,36 +2033,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2017,11 +2041,59 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2036,39 +2108,90 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-// Definitions for internal mutex struct.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2077,13 +2200,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2095,7 +2262,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2104,15 +2271,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2122,8 +2289,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2137,8 +2304,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2147,13 +2314,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2172,7 +2339,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2187,7 +2354,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2204,7 +2371,7 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
type Sockaddr = struct {
Fsa_family Sa_family_t
Fsa_data [14]int8
-} /* socket.h:175:1 */
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
@@ -2213,7 +2380,7 @@ type Sockaddr_storage = struct {
Fss_family Sa_family_t
F__ss_padding [122]int8
F__ss_align uint32
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
@@ -2225,23 +2392,117 @@ type Msghdr = struct {
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
-} /* socket.h:254:1 */
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint32
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint32
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [32]uint32 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_mode_t = uint16 /* posix_types_32.h:11:24 */
+
+type X__kernel_ipc_pid_t = uint16 /* posix_types_32.h:14:24 */
+
+type X__kernel_uid_t = uint16 /* posix_types_32.h:17:24 */
+type X__kernel_gid_t = uint16 /* posix_types_32.h:18:24 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types_32.h:21:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int32 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint32 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = uint32 /* posix_types.h:68:22 */
+type X__kernel_ssize_t = int32 /* posix_types.h:69:14 */
+type X__kernel_ptrdiff_t = int32 /* posix_types.h:70:14 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -2256,7 +2517,7 @@ type Cmsghdr = struct {
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2268,7 +2529,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2283,7 +2544,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2292,7 +2553,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2307,7 +2568,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2377,10 +2638,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2390,7 +2651,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2399,35 +2660,35 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
@@ -2437,7 +2698,7 @@ type Group_req = struct {
F__ss_padding [122]int8
F__ss_align uint32
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
@@ -2451,7 +2712,7 @@ type Group_source_req = struct {
F__ss_padding [122]int8
F__ss_align uint32
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2460,7 +2721,7 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
@@ -2476,6 +2737,6 @@ type Group_filter = struct {
F__ss_padding [122]int8
F__ss_align uint32
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netinet/in/in_linux_amd64.go b/vendor/modernc.org/libc/netinet/in/in_linux_amd64.go
index daa93b7a5..9bf70350f 100644
--- a/vendor/modernc.org/libc/netinet/in/in_linux_amd64.go
+++ b/vendor/modernc.org/libc/netinet/in/in_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_amd64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_amd64.go -pkgname in', DO NOT EDIT.
package in
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -109,6 +110,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -133,6 +135,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -231,7 +234,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -254,6 +257,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -293,13 +297,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -309,6 +315,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -337,6 +344,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -348,20 +357,32 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
+ X_ASM_X86_POSIX_TYPES_64_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -372,10 +393,12 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_NETINET_IN_H = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -390,6 +413,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -499,7 +523,7 @@ const ( /* in.h:99:1: */
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -526,13 +550,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -547,7 +571,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -598,7 +622,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -613,9 +637,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -630,7 +654,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -638,6 +662,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -758,6 +783,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -780,9 +807,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -797,7 +837,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -810,7 +850,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -825,7 +865,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -940,7 +980,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -961,11 +1001,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -980,7 +1024,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1018,7 +1062,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1033,10 +1077,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1051,11 +1095,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1070,45 +1114,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1120,7 +1183,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1141,7 +1204,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1156,7 +1219,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1171,78 +1234,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1257,11 +1348,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1270,7 +1356,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1302,15 +1388,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1345,18 +1422,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1371,9 +1443,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1405,15 +1477,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1448,14 +1511,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1470,11 +1528,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1489,10 +1547,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1507,7 +1565,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1546,7 +1604,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1561,7 +1619,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1569,7 +1627,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1584,7 +1642,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1592,7 +1650,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1607,7 +1665,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1615,7 +1673,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1630,14 +1688,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1669,15 +1727,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1712,11 +1761,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1727,7 +1771,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1742,10 +1786,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1760,7 +1804,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1769,18 +1813,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1795,11 +1838,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1814,11 +1857,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1833,12 +1876,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1853,7 +1896,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1869,7 +1912,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1884,7 +1927,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1898,7 +1941,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1913,16 +1956,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1942,16 +2003,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1966,11 +2027,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1985,7 +2046,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2000,36 +2061,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2038,11 +2069,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2057,42 +2085,141 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2103,7 +2230,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2115,7 +2288,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2124,15 +2297,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2142,8 +2315,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2157,8 +2330,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2167,13 +2340,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2192,7 +2365,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2207,7 +2380,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2224,7 +2397,7 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
type Sockaddr = struct {
Fsa_family Sa_family_t
Fsa_data [14]int8
-} /* socket.h:175:1 */
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
@@ -2233,37 +2406,131 @@ type Sockaddr_storage = struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_old_uid_t = uint16 /* posix_types_64.h:11:24 */
+type X__kernel_old_gid_t = uint16 /* posix_types_64.h:12:24 */
+
+type X__kernel_old_dev_t = uint64 /* posix_types_64.h:15:23 */
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_mode_t = uint32 /* posix_types.h:24:22 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:32:14 */
+
+type X__kernel_uid_t = uint32 /* posix_types.h:36:22 */
+type X__kernel_gid_t = uint32 /* posix_types.h:37:22 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = X__kernel_ulong_t /* posix_types.h:72:26 */
+type X__kernel_ssize_t = X__kernel_long_t /* posix_types.h:73:25 */
+type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -2274,11 +2541,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2290,7 +2559,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2305,7 +2574,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2314,7 +2583,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2329,7 +2598,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2399,10 +2668,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2412,7 +2681,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2421,50 +2690,50 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
F__ss_align uint64
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
@@ -2475,7 +2744,7 @@ type Group_source_req = struct {
F__ss_padding [118]int8
F__ss_align uint64
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2484,11 +2753,11 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgf_group struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
@@ -2501,6 +2770,6 @@ type Group_filter = struct {
F__ss_padding [118]int8
F__ss_align uint64
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netinet/in/in_linux_arm.go b/vendor/modernc.org/libc/netinet/in/in_linux_arm.go
index 31ea04126..510f4db68 100644
--- a/vendor/modernc.org/libc/netinet/in/in_linux_arm.go
+++ b/vendor/modernc.org/libc/netinet/in/in_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_arm.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_arm.go -pkgname in', DO NOT EDIT.
package in
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -109,6 +110,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -133,6 +135,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -231,7 +234,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -254,11 +257,9 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
- SCM_TIMESTAMP = 29
- SCM_TIMESTAMPING = 37
+ PF_XDP = 44
SCM_TIMESTAMPING_OPT_STATS = 54
SCM_TIMESTAMPING_PKTINFO = 58
- SCM_TIMESTAMPNS = 35
SCM_TXTIME = 61
SCM_WIFI_STATUS = 41
SIOCATMARK = 0x8905
@@ -293,13 +294,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -309,6 +312,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -336,7 +340,8 @@ const (
SO_RCVBUF = 8
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
- SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -347,21 +352,28 @@ const (
SO_SNDBUF = 7
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
- SO_SNDTIMEO = 21
- SO_TIMESTAMP = 29
- SO_TIMESTAMPING = 37
- SO_TIMESTAMPNS = 35
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -372,6 +384,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_NETINET_IN_H = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
@@ -389,6 +402,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -397,7 +411,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -424,13 +438,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -445,7 +459,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -588,7 +602,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -603,9 +617,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -620,7 +634,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -628,6 +642,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -748,6 +763,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -770,9 +787,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -787,7 +817,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -800,7 +830,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -815,7 +845,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -930,7 +960,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -951,7 +981,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -966,10 +1000,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -984,7 +1018,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -1038,7 +1072,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1053,10 +1087,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1071,11 +1105,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1090,9 +1124,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1107,41 +1141,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1153,7 +1224,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1175,7 +1246,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1190,83 +1261,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1281,11 +1379,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1294,7 +1387,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1326,15 +1419,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1369,18 +1453,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1395,9 +1474,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1429,15 +1508,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1472,14 +1542,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1494,11 +1559,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1513,10 +1578,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1531,7 +1596,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1570,7 +1635,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1585,7 +1650,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1593,7 +1658,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1608,7 +1673,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1616,7 +1681,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1631,7 +1696,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1639,7 +1704,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1654,14 +1719,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1693,15 +1758,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1736,11 +1792,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1751,7 +1802,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1766,10 +1817,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1784,7 +1835,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1793,18 +1844,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1819,11 +1869,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1838,11 +1888,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1857,12 +1907,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1877,7 +1927,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1892,7 +1942,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1907,7 +1957,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1921,7 +1971,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1936,16 +1986,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1965,16 +2033,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1989,11 +2057,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2008,7 +2076,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2023,35 +2091,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
@@ -2061,11 +2204,67 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// This file is part of the GNU C Library.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2079,10 +2278,54 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2099,7 +2342,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
type X__pthread_rwlock_arch_t = struct {
F__readers uint32
@@ -2113,27 +2359,7 @@ type X__pthread_rwlock_arch_t = struct {
F__pad1 uint8
F__pad2 uint8
F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
-
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
-
-type X__pthread_mutex_s = struct {
- F__lock int32
- F__count uint32
- F__owner int32
- F__kind int32
- F__nusers uint32
- F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -2145,7 +2371,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2154,15 +2380,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2172,8 +2398,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2187,8 +2413,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2197,13 +2423,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2222,7 +2448,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2237,7 +2463,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2253,17 +2479,17 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
@@ -2275,21 +2501,122 @@ type Msghdr = struct {
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
-} /* socket.h:254:1 */
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint32
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint32
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [32]uint32 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// arch/arm/include/asm/posix_types.h
+//
+// Copyright (C) 1996-1998 Russell King.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+// Changelog:
+// 27-06-1996 RMK Created
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
-// Ugly workaround for unclean kernel headers.
+type X__kernel_mode_t = uint16 /* posix_types.h:23:25 */
+
+type X__kernel_ipc_pid_t = uint16 /* posix_types.h:26:25 */
+
+type X__kernel_uid_t = uint16 /* posix_types.h:29:25 */
+type X__kernel_gid_t = uint16 /* posix_types.h:30:25 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types.h:33:25 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int32 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint32 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = uint32 /* posix_types.h:68:22 */
+type X__kernel_ssize_t = int32 /* posix_types.h:69:14 */
+type X__kernel_ptrdiff_t = int32 /* posix_types.h:70:14 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// Socket-level I/O control calls.
@@ -2306,7 +2633,7 @@ type Cmsghdr = struct {
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2318,7 +2645,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2333,7 +2660,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2342,7 +2669,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2357,7 +2684,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2390,7 +2717,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// source route (this gets put into the header proper).
type Ip_opts = struct {
Fip_dst struct{ Fs_addr In_addr_t }
- Fip_opts [40]int8
+ Fip_opts [40]uint8
} /* in.h:142:1 */
// Like `struct ip_mreq' but including interface specification by index.
@@ -2427,10 +2754,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2440,7 +2767,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2449,59 +2776,59 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
Fgr_group struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
Fgsr_group struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
Fgsr_source struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2510,22 +2837,22 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
Fgf_group struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
Fgf_fmode Uint32_t
Fgf_numsrc Uint32_t
Fgf_slist [1]struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netinet/in/in_linux_arm64.go b/vendor/modernc.org/libc/netinet/in/in_linux_arm64.go
index 60d72b2fb..abddfc528 100644
--- a/vendor/modernc.org/libc/netinet/in/in_linux_arm64.go
+++ b/vendor/modernc.org/libc/netinet/in/in_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_arm64.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_arm64.go -pkgname in', DO NOT EDIT.
package in
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -109,6 +110,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -133,6 +135,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -231,7 +234,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -254,6 +257,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -293,13 +297,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -309,6 +315,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -337,6 +344,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -348,20 +357,31 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -372,10 +392,12 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_NETINET_IN_H = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -390,6 +412,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -398,7 +421,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -425,13 +448,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +469,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -598,7 +621,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -613,9 +636,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -630,7 +653,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -638,6 +661,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -758,6 +782,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -780,9 +806,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -797,7 +836,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -810,7 +849,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -825,7 +864,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -940,7 +979,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -961,9 +1000,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -978,10 +1021,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -996,7 +1039,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1030,7 +1073,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1045,7 +1088,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -1053,7 +1096,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1068,10 +1111,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1086,11 +1129,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1105,11 +1148,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1124,41 +1167,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1170,7 +1252,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1191,7 +1273,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -1207,7 +1289,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1220,78 +1302,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1306,11 +1415,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1319,7 +1423,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1351,15 +1455,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1394,18 +1489,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1420,9 +1510,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1454,15 +1544,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1497,14 +1578,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1519,11 +1595,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1538,10 +1614,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1556,7 +1632,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1595,7 +1671,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1610,7 +1686,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1618,7 +1694,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1633,7 +1709,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1641,7 +1717,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1656,7 +1732,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1664,7 +1740,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1679,14 +1755,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1718,15 +1794,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1761,11 +1828,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1776,7 +1838,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1791,10 +1853,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1809,7 +1871,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1818,18 +1880,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1844,11 +1905,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1863,11 +1924,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1882,12 +1943,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1902,7 +1963,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1917,7 +1978,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1932,7 +1993,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1946,7 +2007,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1961,16 +2022,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1990,16 +2069,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2014,11 +2093,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2033,7 +2112,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2048,36 +2127,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2086,11 +2135,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -2106,9 +2152,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2125,36 +2172,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2164,7 +2330,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2176,7 +2387,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2185,15 +2396,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2203,15 +2414,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -2221,8 +2432,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2231,13 +2442,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2256,7 +2467,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2271,7 +2482,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2287,47 +2498,149 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+type X__kernel_old_uid_t = uint16 /* posix_types.h:5:24 */
+type X__kernel_old_gid_t = uint16 /* posix_types.h:6:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// Copyright (C) 2012 ARM Ltd.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_mode_t = uint32 /* posix_types.h:24:22 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:32:14 */
+
+type X__kernel_uid_t = uint32 /* posix_types.h:36:22 */
+type X__kernel_gid_t = uint32 /* posix_types.h:37:22 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_dev_t = uint32 /* posix_types.h:59:22 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = X__kernel_ulong_t /* posix_types.h:72:26 */
+type X__kernel_ssize_t = X__kernel_long_t /* posix_types.h:73:25 */
+type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -2338,11 +2651,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2354,7 +2669,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2369,7 +2684,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2378,7 +2693,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2393,7 +2708,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2426,7 +2741,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// source route (this gets put into the header proper).
type Ip_opts = struct {
Fip_dst struct{ Fs_addr In_addr_t }
- Fip_opts [40]int8
+ Fip_opts [40]uint8
} /* in.h:142:1 */
// Like `struct ip_mreq' but including interface specification by index.
@@ -2463,10 +2778,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2476,7 +2791,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2485,61 +2800,61 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgsr_source struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2548,23 +2863,23 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgf_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgf_fmode Uint32_t
Fgf_numsrc Uint32_t
Fgf_slist [1]struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netinet/in/in_linux_s390x.go b/vendor/modernc.org/libc/netinet/in/in_linux_s390x.go
index ae8e84ccb..3fb546c05 100644
--- a/vendor/modernc.org/libc/netinet/in/in_linux_s390x.go
+++ b/vendor/modernc.org/libc/netinet/in/in_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo netinet/in/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_linux_s390x.go -pkgname in', DO NOT EDIT.
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_linux_s390x.go -pkgname in', DO NOT EDIT.
package in
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 4321
FD_SETSIZE = 1024
@@ -109,6 +110,7 @@ const (
IPV6_MINHOPCOUNT = 73
IPV6_MTU = 24
IPV6_MTU_DISCOVER = 23
+ IPV6_MULTICAST_ALL = 29
IPV6_MULTICAST_HOPS = 18
IPV6_MULTICAST_IF = 17
IPV6_MULTICAST_LOOP = 19
@@ -133,6 +135,7 @@ const (
IPV6_RECVRTHDR = 56
IPV6_RECVTCLASS = 66
IPV6_ROUTER_ALERT = 22
+ IPV6_ROUTER_ALERT_ISOLATE = 30
IPV6_RTHDR = 57
IPV6_RTHDRDSTOPTS = 55
IPV6_RTHDR_LOOSE = 0
@@ -231,7 +234,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -254,6 +257,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -293,13 +297,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -309,6 +315,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -337,6 +344,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -348,21 +357,31 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
- X_ASM_SOCKET_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
X_BITS_STDINT_UINTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -373,10 +392,12 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_NETINET_IN_H = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -391,6 +412,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -399,7 +421,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -426,13 +448,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -447,7 +469,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -599,7 +621,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -614,9 +636,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -631,7 +653,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -639,6 +661,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -759,6 +782,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -781,9 +806,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -798,7 +836,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -811,7 +849,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -826,7 +864,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -941,7 +979,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -962,10 +1000,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -980,7 +1022,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -1017,7 +1059,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Define uintN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1032,10 +1074,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1050,11 +1092,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1069,43 +1111,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1117,7 +1181,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1138,7 +1202,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1153,7 +1217,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1168,78 +1232,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */
type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
@@ -1254,11 +1346,6 @@ type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -1267,7 +1354,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1299,15 +1386,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1342,18 +1420,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1368,9 +1441,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1402,15 +1475,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1445,14 +1509,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1467,11 +1526,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1486,10 +1545,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1504,7 +1563,7 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1543,7 +1602,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1558,7 +1617,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1566,7 +1625,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1581,7 +1640,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1589,7 +1648,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1604,7 +1663,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1612,7 +1671,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1627,14 +1686,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1666,15 +1725,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1709,11 +1759,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1724,7 +1769,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1739,10 +1784,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1757,7 +1802,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1766,18 +1811,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1792,11 +1836,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1811,11 +1855,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1830,12 +1874,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1850,7 +1894,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1865,7 +1909,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1880,7 +1924,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1894,7 +1938,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1909,16 +1953,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1938,16 +2000,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1962,11 +2024,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1981,7 +2043,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1996,36 +2058,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2034,11 +2066,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2057,35 +2088,135 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2096,7 +2227,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2108,7 +2284,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2117,15 +2293,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2135,8 +2311,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -2150,8 +2326,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2160,13 +2336,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -2185,7 +2361,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2200,7 +2376,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -2216,47 +2392,138 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// S390 version
//
-// Derived from "include/asm-i386/socket.h"
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_size_t = uint64 /* posix_types.h:16:25 */
+type X__kernel_ssize_t = int64 /* posix_types.h:17:25 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types.h:20:24 */
+
+type X__kernel_ino_t = uint32 /* posix_types.h:35:25 */
+type X__kernel_mode_t = uint32 /* posix_types.h:36:25 */
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:37:25 */
+type X__kernel_uid_t = uint32 /* posix_types.h:38:25 */
+type X__kernel_gid_t = uint32 /* posix_types.h:39:25 */
+type X__kernel_ptrdiff_t = int64 /* posix_types.h:40:25 */
+type X__kernel_sigset_t = uint64 /* posix_types.h:41:25 */ // at least 32 bits
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
@@ -2270,11 +2537,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -2286,7 +2555,7 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2301,7 +2570,7 @@ type Osockaddr = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2310,7 +2579,7 @@ type In_addr_t = Uint32_t /* in.h:30:18 */
type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// Get system-specific definitions.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2325,7 +2594,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Linux version.
@@ -2358,7 +2627,7 @@ type In_addr = struct{ Fs_addr In_addr_t } /* in.h:31:1 */
// source route (this gets put into the header proper).
type Ip_opts = struct {
Fip_dst struct{ Fs_addr In_addr_t }
- Fip_opts [40]int8
+ Fip_opts [40]uint8
} /* in.h:142:1 */
// Like `struct ip_mreq' but including interface specification by index.
@@ -2395,10 +2664,10 @@ type In_port_t = Uint16_t /* in.h:119:18 */
// IPv6 address
type In6_addr = struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
-} /* in.h:211:1 */
+} /* in.h:212:1 */
// ::1
@@ -2408,7 +2677,7 @@ type Sockaddr_in = struct {
Fsin_port In_port_t
Fsin_addr struct{ Fs_addr In_addr_t }
Fsin_zero [8]uint8
-} /* in.h:237:1 */
+} /* in.h:238:1 */
// Ditto, for IPv6.
type Sockaddr_in6 = struct {
@@ -2417,61 +2686,61 @@ type Sockaddr_in6 = struct {
Fsin6_flowinfo Uint32_t
Fsin6_addr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fsin6_scope_id Uint32_t
-} /* in.h:252:1 */
+} /* in.h:253:1 */
// IPv4 multicast request.
type Ip_mreq = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
-} /* in.h:264:1 */
+} /* in.h:265:1 */
type Ip_mreq_source = struct {
Fimr_multiaddr struct{ Fs_addr In_addr_t }
Fimr_interface struct{ Fs_addr In_addr_t }
Fimr_sourceaddr struct{ Fs_addr In_addr_t }
-} /* in.h:273:1 */
+} /* in.h:274:1 */
// Likewise, for IPv6.
type Ipv6_mreq = struct {
Fipv6mr_multiaddr struct {
F__in6_u struct {
- _ [0]uint32
- F__u6_addr8 [16]Uint8_t
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]Uint8_t
}
}
Fipv6mr_interface uint32
-} /* in.h:288:1 */
+} /* in.h:289:1 */
// Multicast group request.
type Group_req = struct {
Fgr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:300:1 */
+} /* in.h:301:1 */
type Group_source_req = struct {
Fgsr_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgsr_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgsr_source struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:309:1 */
+} /* in.h:310:1 */
// Full-state filter operations.
type Ip_msfilter = struct {
@@ -2480,23 +2749,23 @@ type Ip_msfilter = struct {
Fimsf_fmode Uint32_t
Fimsf_numsrc Uint32_t
Fimsf_slist [1]struct{ Fs_addr In_addr_t }
-} /* in.h:323:1 */
+} /* in.h:324:1 */
type Group_filter = struct {
Fgf_interface Uint32_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fgf_group struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
Fgf_fmode Uint32_t
Fgf_numsrc Uint32_t
Fgf_slist [1]struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
}
-} /* in.h:344:1 */
+} /* in.h:345:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/netinet/in/in_netbsd_amd64.go b/vendor/modernc.org/libc/netinet/in/in_netbsd_amd64.go
new file mode 100644
index 000000000..8e569527c
--- /dev/null
+++ b/vendor/modernc.org/libc/netinet/in/in_netbsd_amd64.go
@@ -0,0 +1,2950 @@
+// Code generated by 'ccgo netinet/in/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 netinet/in/in_netbsd_amd64.go -pkgname in', DO NOT EDIT.
+
+package in
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ AF_APPLETALK = 16
+ AF_ARP = 28
+ AF_BLUETOOTH = 31
+ AF_CAN = 35
+ AF_CCITT = 10
+ AF_CHAOS = 5
+ AF_CNT = 21
+ AF_COIP = 20
+ AF_DATAKIT = 9
+ AF_DECnet = 12
+ AF_DLI = 13
+ AF_E164 = 26
+ AF_ECMA = 8
+ AF_ETHER = 36
+ AF_HYLINK = 15
+ AF_IEEE80211 = 32
+ AF_IMPLINK = 3
+ AF_INET = 2
+ AF_INET6 = 24
+ AF_IPX = 23
+ AF_ISDN = 26
+ AF_ISO = 7
+ AF_LAT = 14
+ AF_LINK = 18
+ AF_LOCAL = 1
+ AF_MAX = 37
+ AF_MPLS = 33
+ AF_NATM = 27
+ AF_NS = 6
+ AF_OROUTE = 17
+ AF_OSI = 7
+ AF_PUP = 4
+ AF_ROUTE = 34
+ AF_SNA = 11
+ AF_UNIX = 1
+ AF_UNSPEC = 0
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ CTL_IPPROTO_IPSEC = 258
+ FD_SETSIZE = 256
+ ICMP6_FILTER = 18
+ INET6_ADDRSTRLEN = 46
+ INET6_IS_ADDR_LINKLOCAL = 1
+ INET6_IS_ADDR_MC_LINKLOCAL = 2
+ INET6_IS_ADDR_SITELOCAL = 4
+ INET_ADDRSTRLEN = 16
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ IN_CLASSA_MAX = 128
+ IN_CLASSA_NSHIFT = 24
+ IN_CLASSB_MAX = 65536
+ IN_CLASSB_NSHIFT = 16
+ IN_CLASSC_NSHIFT = 8
+ IN_CLASSD_NSHIFT = 28
+ IN_LOOPBACKNET = 127
+ IPCTL_ALLOWSRCRT = 7
+ IPCTL_ANONPORTMAX = 11
+ IPCTL_ANONPORTMIN = 10
+ IPCTL_CHECKINTERFACE = 20
+ IPCTL_DAD_COUNT = 25
+ IPCTL_DEFTTL = 3
+ IPCTL_DIRECTEDBCAST = 6
+ IPCTL_FORWARDING = 1
+ IPCTL_FORWSRCRT = 5
+ IPCTL_GIF_TTL = 15
+ IPCTL_GRE_TTL = 19
+ IPCTL_HOSTZEROBROADCAST = 14
+ IPCTL_IFQ = 21
+ IPCTL_LOOPBACKCKSUM = 23
+ IPCTL_LOWPORTMAX = 17
+ IPCTL_LOWPORTMIN = 16
+ IPCTL_MAXFLOWS = 13
+ IPCTL_MAXFRAGPACKETS = 18
+ IPCTL_MTUDISC = 9
+ IPCTL_MTUDISCTIMEOUT = 12
+ IPCTL_RANDOMID = 22
+ IPCTL_SENDREDIRECTS = 2
+ IPCTL_STATS = 24
+ IPCTL_SUBNETSARELOCAL = 8
+ IPPORT_ANONMAX = 65535
+ IPPORT_ANONMIN = 49152
+ IPPORT_RESERVED = 1024
+ IPPORT_RESERVEDMAX = 1023
+ IPPORT_RESERVEDMIN = 600
+ IPPROTO_AH = 51
+ IPPROTO_CARP = 112
+ IPPROTO_DCCP = 33
+ IPPROTO_DONE = 257
+ IPPROTO_DSTOPTS = 60
+ IPPROTO_EGP = 8
+ IPPROTO_ENCAP = 98
+ IPPROTO_EON = 80
+ IPPROTO_ESP = 50
+ IPPROTO_ETHERIP = 97
+ IPPROTO_FRAGMENT = 44
+ IPPROTO_GGP = 3
+ IPPROTO_GRE = 47
+ IPPROTO_HOPOPTS = 0
+ IPPROTO_ICMP = 1
+ IPPROTO_ICMPV6 = 58
+ IPPROTO_IDP = 22
+ IPPROTO_IGMP = 2
+ IPPROTO_IP = 0
+ IPPROTO_IPCOMP = 108
+ IPPROTO_IPIP = 4
+ IPPROTO_IPV4 = 4
+ IPPROTO_IPV6 = 41
+ IPPROTO_IPV6_ICMP = 58
+ IPPROTO_L2TP = 115
+ IPPROTO_MAX = 256
+ IPPROTO_MOBILE = 55
+ IPPROTO_NONE = 59
+ IPPROTO_PFSYNC = 240
+ IPPROTO_PIM = 103
+ IPPROTO_PUP = 12
+ IPPROTO_RAW = 255
+ IPPROTO_ROUTING = 43
+ IPPROTO_RSVP = 46
+ IPPROTO_SCTP = 132
+ IPPROTO_TCP = 6
+ IPPROTO_TP = 29
+ IPPROTO_UDP = 17
+ IPPROTO_VRRP = 112
+ IPV6CTL_ACCEPT_RTADV = 12
+ IPV6CTL_ADDRCTLPOLICY = 38
+ IPV6CTL_ANONPORTMAX = 29
+ IPV6CTL_ANONPORTMIN = 28
+ IPV6CTL_AUTO_FLOWLABEL = 17
+ IPV6CTL_AUTO_LINKLOCAL = 35
+ IPV6CTL_DAD_COUNT = 16
+ IPV6CTL_DEFHLIM = 3
+ IPV6CTL_DEFMCASTHLIM = 18
+ IPV6CTL_FORWARDING = 1
+ IPV6CTL_FORWSRCRT = 5
+ IPV6CTL_GIF_HLIM = 19
+ IPV6CTL_HDRNESTLIMIT = 15
+ IPV6CTL_IFQ = 42
+ IPV6CTL_KAME_VERSION = 20
+ IPV6CTL_KEEPFAITH = 13
+ IPV6CTL_LOG_INTERVAL = 14
+ IPV6CTL_LOWPORTMAX = 31
+ IPV6CTL_LOWPORTMIN = 30
+ IPV6CTL_MAXFRAGPACKETS = 9
+ IPV6CTL_MAXFRAGS = 41
+ IPV6CTL_MRTPROTO = 8
+ IPV6CTL_MRTSTATS = 7
+ IPV6CTL_RR_PRUNE = 22
+ IPV6CTL_RTADV_MAXROUTES = 43
+ IPV6CTL_RTADV_NUMROUTES = 44
+ IPV6CTL_SENDREDIRECTS = 2
+ IPV6CTL_SOURCECHECK = 10
+ IPV6CTL_SOURCECHECK_LOGINT = 11
+ IPV6CTL_STATS = 6
+ IPV6CTL_USE_DEFAULTZONE = 39
+ IPV6CTL_USE_DEPRECATED = 21
+ IPV6CTL_V6ONLY = 24
+ IPV6PORT_ANONMAX = 65535
+ IPV6PORT_ANONMIN = 49152
+ IPV6PORT_RESERVED = 1024
+ IPV6PORT_RESERVEDMAX = 1023
+ IPV6PORT_RESERVEDMIN = 600
+ IPV6_CHECKSUM = 26
+ IPV6_DEFAULT_MULTICAST_HOPS = 1
+ IPV6_DEFAULT_MULTICAST_LOOP = 1
+ IPV6_DONTFRAG = 62
+ IPV6_DSTOPTS = 50
+ IPV6_FAITH = 29
+ IPV6_HOPLIMIT = 47
+ IPV6_HOPOPTS = 49
+ IPV6_IPSEC_POLICY = 28
+ IPV6_JOIN_GROUP = 12
+ IPV6_LEAVE_GROUP = 13
+ IPV6_MULTICAST_HOPS = 10
+ IPV6_MULTICAST_IF = 9
+ IPV6_MULTICAST_LOOP = 11
+ IPV6_NEXTHOP = 48
+ IPV6_PATHMTU = 44
+ IPV6_PKTINFO = 46
+ IPV6_PORTALGO = 17
+ IPV6_PORTRANGE = 14
+ IPV6_PORTRANGE_DEFAULT = 0
+ IPV6_PORTRANGE_HIGH = 1
+ IPV6_PORTRANGE_LOW = 2
+ IPV6_PREFER_TEMPADDR = 63
+ IPV6_RECVDSTOPTS = 40
+ IPV6_RECVHOPLIMIT = 37
+ IPV6_RECVHOPOPTS = 39
+ IPV6_RECVPATHMTU = 43
+ IPV6_RECVPKTINFO = 36
+ IPV6_RECVRTHDR = 38
+ IPV6_RECVTCLASS = 57
+ IPV6_RTHDR = 51
+ IPV6_RTHDRDSTOPTS = 35
+ IPV6_RTHDR_LOOSE = 0
+ IPV6_RTHDR_STRICT = 1
+ IPV6_RTHDR_TYPE_0 = 0
+ IPV6_SOCKOPT_RESERVED1 = 3
+ IPV6_TCLASS = 61
+ IPV6_UNICAST_HOPS = 4
+ IPV6_USE_MIN_MTU = 42
+ IPV6_V6ONLY = 27
+ IP_ADD_MEMBERSHIP = 12
+ IP_DEFAULT_MULTICAST_LOOP = 1
+ IP_DEFAULT_MULTICAST_TTL = 1
+ IP_DROP_MEMBERSHIP = 13
+ IP_ERRORMTU = 21
+ IP_HDRINCL = 2
+ IP_IPSEC_POLICY = 22
+ IP_MAX_MEMBERSHIPS = 20
+ IP_MINTTL = 24
+ IP_MULTICAST_IF = 9
+ IP_MULTICAST_LOOP = 11
+ IP_MULTICAST_TTL = 10
+ IP_OPTIONS = 1
+ IP_PKTINFO = 25
+ IP_PORTALGO = 18
+ IP_PORTRANGE = 19
+ IP_PORTRANGE_DEFAULT = 0
+ IP_PORTRANGE_HIGH = 1
+ IP_PORTRANGE_LOW = 2
+ IP_RECVDSTADDR = 7
+ IP_RECVIF = 20
+ IP_RECVOPTS = 5
+ IP_RECVPKTINFO = 26
+ IP_RECVRETOPTS = 6
+ IP_RECVTTL = 23
+ IP_RETOPTS = 8
+ IP_SENDSRCADDR = 7
+ IP_TOS = 3
+ IP_TTL = 4
+ LITTLE_ENDIAN = 1234
+ MSG_BCAST = 0x0100
+ MSG_CMSG_CLOEXEC = 0x0800
+ MSG_CONTROLMBUF = 0x2000000
+ MSG_CTRUNC = 0x0020
+ MSG_DONTROUTE = 0x0004
+ MSG_DONTWAIT = 0x0080
+ MSG_EOR = 0x0008
+ MSG_IOVUSRSPACE = 0x4000000
+ MSG_LENUSRSPACE = 0x8000000
+ MSG_MCAST = 0x0200
+ MSG_NAMEMBUF = 0x1000000
+ MSG_NBIO = 0x1000
+ MSG_NOSIGNAL = 0x0400
+ MSG_NOTIFICATION = 0x4000
+ MSG_OOB = 0x0001
+ MSG_PEEK = 0x0002
+ MSG_TRUNC = 0x0010
+ MSG_USERFLAGS = 0x0ffffff
+ MSG_WAITALL = 0x0040
+ MSG_WAITFORONE = 0x2000
+ NBBY = 8
+ NET_RT_DUMP = 1
+ NET_RT_FLAGS = 2
+ NET_RT_IFLIST = 6
+ NET_RT_OIFLIST = 5
+ NET_RT_OOIFLIST = 4
+ NET_RT_OOOIFLIST = 3
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PCB_ALL = 0
+ PCB_SLOP = 20
+ PDP_ENDIAN = 3412
+ PF_APPLETALK = 16
+ PF_ARP = 28
+ PF_BLUETOOTH = 31
+ PF_CAN = 35
+ PF_CCITT = 10
+ PF_CHAOS = 5
+ PF_CNT = 21
+ PF_COIP = 20
+ PF_DATAKIT = 9
+ PF_DECnet = 12
+ PF_DLI = 13
+ PF_E164 = 26
+ PF_ECMA = 8
+ PF_ETHER = 36
+ PF_HYLINK = 15
+ PF_IMPLINK = 3
+ PF_INET = 2
+ PF_INET6 = 24
+ PF_IPX = 23
+ PF_ISDN = 26
+ PF_ISO = 7
+ PF_KEY = 29
+ PF_LAT = 14
+ PF_LINK = 18
+ PF_LOCAL = 1
+ PF_MAX = 37
+ PF_MPLS = 33
+ PF_NATM = 27
+ PF_NS = 6
+ PF_OROUTE = 17
+ PF_OSI = 7
+ PF_PIP = 25
+ PF_PUP = 4
+ PF_ROUTE = 34
+ PF_RTIP = 22
+ PF_SNA = 11
+ PF_UNIX = 1
+ PF_UNSPEC = 0
+ PF_XTP = 19
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SCM_CREDS = 0x10
+ SCM_RIGHTS = 0x01
+ SCM_TIMESTAMP = 0x08
+ SHUT_RD = 0
+ SHUT_RDWR = 2
+ SHUT_WR = 1
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIN6_LEN = 0
+ SIZE_MAX = 18446744073709551615
+ SOCK_CLOEXEC = 0x10000000
+ SOCK_CONN_DGRAM = 6
+ SOCK_DCCP = 6
+ SOCK_DGRAM = 2
+ SOCK_FLAGS_MASK = 0xf0000000
+ SOCK_NONBLOCK = 0x20000000
+ SOCK_NOSIGPIPE = 0x40000000
+ SOCK_RAW = 3
+ SOCK_RDM = 4
+ SOCK_SEQPACKET = 5
+ SOCK_STREAM = 1
+ SOL_SOCKET = 0xffff
+ SOMAXCONN = 128
+ SO_ACCEPTCONN = 0x0002
+ SO_ACCEPTFILTER = 0x1000
+ SO_BROADCAST = 0x0020
+ SO_DEBUG = 0x0001
+ SO_DEFOPTS = 27645
+ SO_DONTROUTE = 0x0010
+ SO_ERROR = 0x1007
+ SO_KEEPALIVE = 0x0008
+ SO_LINGER = 0x0080
+ SO_NOHEADER = 0x100a
+ SO_NOSIGPIPE = 0x0800
+ SO_OOBINLINE = 0x0100
+ SO_OVERFLOWED = 0x1009
+ SO_RCVBUF = 0x1002
+ SO_RCVLOWAT = 0x1004
+ SO_RCVTIMEO = 0x100c
+ SO_RERROR = 0x4000
+ SO_REUSEADDR = 0x0004
+ SO_REUSEPORT = 0x0200
+ SO_SNDBUF = 0x1001
+ SO_SNDLOWAT = 0x1003
+ SO_SNDTIMEO = 0x100b
+ SO_TIMESTAMP = 0x2000
+ SO_TYPE = 0x1008
+ SO_USELOOPBACK = 0x0040
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ UIO_MAXIOV = 1024
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_NETINET6_IN6_H_ = 0
+ X_NETINET_IN_H_ = 0
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SS_MAXSIZE = 128
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_SOCKET_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_SYS_UIO_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+ Pseudo_AF_HDRCMPLT = 30
+ Pseudo_AF_KEY = 29
+ Pseudo_AF_PIP = 25
+ Pseudo_AF_RTIP = 22
+ Pseudo_AF_XTP = 19
+)
+
+// file offset
+
+const ( /* uio.h:69:1: */
+ UIO_READ = 0
+ UIO_WRITE = 1
+)
+
+// Segment flag values.
+const ( /* uio.h:72:1: */
+ UIO_USERSPACE = 0 // from user data space
+ UIO_SYSSPACE = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// $NetBSD: in.h,v 1.108 2018/11/09 11:46:28 maya Exp $
+
+// Copyright (c) 1982, 1986, 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)in.h 8.3 (Berkeley) 1/3/94
+
+// Constants and structures defined by the internet system,
+// Per RFC 790, September 1981, and numerous additions.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type Uint8_t = X__uint8_t /* in.h:46:19 */
+
+type Uint32_t = X__uint32_t /* in.h:51:20 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type In_addr_t = X__in_addr_t /* in.h:58:21 */
+
+type In_port_t = X__in_port_t /* in.h:63:21 */
+
+type Sa_family_t = X__sa_family_t /* in.h:68:23 */
+
+// Protocols
+
+// last return value of *_input(), meaning "all job for this pkt is done".
+
+// sysctl placeholder for (FAST_)IPSEC
+
+// Local port number conventions:
+//
+// Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root),
+// unless a kernel is compiled with IPNOPRIVPORTS defined.
+//
+// When a user does a bind(2) or connect(2) with a port number of zero,
+// a non-conflicting local port address is chosen.
+//
+// The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although
+// that is settable by sysctl(3); net.inet.ip.anonportmin and
+// net.inet.ip.anonportmax respectively.
+//
+// A user may set the IPPROTO_IP option IP_PORTRANGE to change this
+// default assignment range.
+//
+// The value IP_PORTRANGE_DEFAULT causes the default behavior.
+//
+// The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT,
+// and exists only for FreeBSD compatibility purposes.
+//
+// The value IP_PORTRANGE_LOW changes the range to the "low" are
+// that is (by convention) restricted to privileged processes.
+// This convention is based on "vouchsafe" principles only.
+// It is only secure if you trust the remote host to restrict these ports.
+// The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX.
+
+// Internet address (a structure for historical reasons)
+type In_addr = struct{ Fs_addr X__in_addr_t } /* in.h:158:1 */
+
+// Definitions of bits in internet address integers.
+// On subnets, the decomposition of addresses to host and net parts
+// is done according to subnet mask, not the masks here.
+//
+// By byte-swapping the constants, we avoid ever having to byte-swap IP
+// addresses inside the kernel. Unfortunately, user-level programs rely
+// on these macros not doing byte-swapping.
+
+// These ones aren't really net and host fields, but routing needn't know.
+
+// Socket address, internet style.
+type Sockaddr_in = struct {
+ Fsin_len Uint8_t
+ Fsin_family X__sa_family_t
+ Fsin_port X__in_port_t
+ Fsin_addr struct{ Fs_addr X__in_addr_t }
+ Fsin_zero [8]X__int8_t
+} /* in.h:241:1 */
+
+// Structure used to describe IP options.
+// Used to store options internally, to pass them to a process,
+// or to restore options retrieved earlier.
+// The ip_dst is used for the first-hop gateway when using a source route
+// (this gets put into the header proper).
+type Ip_opts = struct {
+ Fip_dst struct{ Fs_addr X__in_addr_t }
+ Fip_opts [40]X__int8_t
+} /* in.h:258:1 */
+
+// Options for use with [gs]etsockopt at the IP level.
+// First word of comment is data type; bool is stored in int.
+// The add and drop membership option numbers need to match with the v6 ones
+
+// Information sent in the control message of a datagram socket for
+// IP_PKTINFO and IP_RECVPKTINFO.
+type In_pktinfo = struct {
+ Fipi_addr struct{ Fs_addr X__in_addr_t }
+ Fipi_ifindex uint32
+} /* in.h:301:1 */
+
+// Defaults and limits for options
+
+// Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
+type Ip_mreq = struct {
+ Fimr_multiaddr struct{ Fs_addr X__in_addr_t }
+ Fimr_interface struct{ Fs_addr X__in_addr_t }
+} /* in.h:318:1 */
+
+// Argument for IP_PORTRANGE:
+// - which range to search when port is unspecified at bind() or connect()
+
+// Definitions for inet sysctl operations.
+//
+// Third level is protocol number.
+// Fourth level is desired variable within that protocol.
+
+// Names for IP sysctl objects
+// IPCTL_DEFMTU=4, never implemented
+
+// INET6 stuff
+// $NetBSD: in6.h,v 1.95.2.1 2019/09/06 19:43:00 martin Exp $
+// $KAME: in6.h,v 1.83 2001/03/29 02:55:07 jinmei Exp $
+
+// Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the project nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Copyright (c) 1982, 1986, 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)in.h 8.3 (Berkeley) 1/3/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: socket.h,v 1.129 2018/11/04 16:30:29 christos Exp $
+
+// Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the project nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+
+// Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)socket.h 8.6 (Berkeley) 5/3/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions related to sockets: types, address families, options.
+
+// Data types.
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Socklen_t = X__socklen_t /* socket.h:83:21 */
+
+type Ssize_t = int64 /* socket.h:95:23 */
+
+// $NetBSD: uio.h,v 1.36 2011/07/27 13:20:07 uebayasi Exp $
+
+// Copyright (c) 1982, 1986, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)uio.h 8.5 (Berkeley) 2/22/94
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+type Iovec = struct {
+ Fiov_base uintptr
+ Fiov_len Size_t
+} /* uio.h:56:1 */
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Off_t = X__off_t /* uio.h:65:18 */
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+
+// Socket types.
+
+// Option flags per-socket.
+// SO_OTIMESTAMP 0x0400
+
+// Allowed default option flags
+
+// Additional options, not kept in so_options.
+// SO_OSNDTIMEO 0x1005
+// SO_ORCVTIMEO 0x1006
+
+// Structure used for manipulating linger option.
+type Linger = struct {
+ Fl_onoff int32
+ Fl_linger int32
+} /* socket.h:182:1 */
+
+type Accept_filter_arg = struct {
+ Faf_name [16]int8
+ Faf_arg [240]int8
+} /* socket.h:187:1 */
+
+// Level number for (get/set)sockopt() to apply to socket itself.
+
+// Address families.
+
+// Structure used by kernel to store most
+// addresses.
+type Sockaddr = struct {
+ Fsa_len X__uint8_t
+ Fsa_family X__sa_family_t
+ Fsa_data [14]int8
+} /* socket.h:255:1 */
+
+// RFC 2553: protocol-independent placeholder for socket addresses
+
+type Sockaddr_storage = struct {
+ Fss_len X__uint8_t
+ Fss_family X__sa_family_t
+ F__ss_pad1 [6]int8
+ F__ss_align X__int64_t
+ F__ss_pad2 [112]int8
+} /* socket.h:301:1 */
+
+// Protocol families, same as address families for now.
+
+type Pid_t = X__pid_t /* socket.h:366:18 */ // process id
+
+type Gid_t = X__gid_t /* socket.h:371:18 */ // group id
+
+type Uid_t = X__uid_t /* socket.h:376:18 */ // user id
+
+// Socket credentials.
+type Sockcred = struct {
+ Fsc_pid X__pid_t
+ Fsc_uid X__uid_t
+ Fsc_euid X__uid_t
+ Fsc_gid X__gid_t
+ Fsc_egid X__gid_t
+ Fsc_ngroups int32
+ Fsc_groups [1]X__gid_t
+} /* socket.h:383:1 */
+
+// Compute size of a sockcred structure with groups.
+
+// Definition for CTL_NET PCB fetching sysctls
+type Kinfo_pcb = struct {
+ Fki_pcbaddr X__uint64_t
+ Fki_ppcbaddr X__uint64_t
+ Fki_sockaddr X__uint64_t
+ Fki_family X__uint32_t
+ Fki_type X__uint32_t
+ Fki_protocol X__uint32_t
+ Fki_pflags X__uint32_t
+ Fki_sostate X__uint32_t
+ Fki_prstate X__uint32_t
+ Fki_tstate X__int32_t
+ Fki_tflags X__uint32_t
+ Fki_rcvq X__uint64_t
+ Fki_sndq X__uint64_t
+ Fki_s struct {
+ F_kis_src struct {
+ Fsa_len X__uint8_t
+ Fsa_family X__sa_family_t
+ Fsa_data [14]int8
+ }
+ F__ccgo_pad1 [248]byte
+ }
+ Fki_d struct {
+ F_kid_dst struct {
+ Fsa_len X__uint8_t
+ Fsa_family X__sa_family_t
+ Fsa_data [14]int8
+ }
+ F__ccgo_pad1 [248]byte
+ }
+ Fki_inode X__uint64_t
+ Fki_vnode X__uint64_t
+ Fki_conn X__uint64_t
+ Fki_refs X__uint64_t
+ Fki_nextref X__uint64_t
+} /* socket.h:404:1 */
+
+// PF_ROUTE - Routing table
+//
+// Three additional levels are defined:
+// Fourth: address family, 0 is wildcard
+// Fifth: type of info, defined below
+// Sixth: flag(s) to mask with for NET_RT_FLAGS
+
+// Maximum queue length specifiable by listen(2).
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Message header for recvmsg and sendmsg calls.
+// Used value-result for recvmsg, value only for sendmsg.
+type Msghdr = struct {
+ Fmsg_name uintptr
+ Fmsg_namelen X__socklen_t
+ F__ccgo_pad1 [4]byte
+ Fmsg_iov uintptr
+ Fmsg_iovlen int32
+ F__ccgo_pad2 [4]byte
+ Fmsg_control uintptr
+ Fmsg_controllen X__socklen_t
+ Fmsg_flags int32
+} /* socket.h:479:1 */
+
+type Mmsghdr = struct {
+ Fmsg_hdr struct {
+ Fmsg_name uintptr
+ Fmsg_namelen X__socklen_t
+ F__ccgo_pad1 [4]byte
+ Fmsg_iov uintptr
+ Fmsg_iovlen int32
+ F__ccgo_pad2 [4]byte
+ Fmsg_control uintptr
+ Fmsg_controllen X__socklen_t
+ Fmsg_flags int32
+ }
+ Fmsg_len uint32
+ F__ccgo_pad1 [4]byte
+} /* socket.h:506:1 */
+
+// Extra flags used internally only
+
+// Header for ancillary data objects in msg_control buffer.
+// Used for additional information with/about a datagram
+// not expressible by flags. The format is a sequence
+// of message elements headed by cmsghdr structures.
+type Cmsghdr = struct {
+ Fcmsg_len X__socklen_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:525:1 */
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+// Identification of the network protocol stack
+// for *BSD-current/release: http://www.kame.net/dev/cvsweb.cgi/kame/COVERAGE
+// has the table of implementation/integration differences.
+
+// Local port number conventions:
+//
+// Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root),
+// unless a kernel is compiled with IPNOPRIVPORTS defined.
+//
+// When a user does a bind(2) or connect(2) with a port number of zero,
+// a non-conflicting local port address is chosen.
+//
+// The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although
+// that is settable by sysctl(3); net.inet.ip.anonportmin and
+// net.inet.ip.anonportmax respectively.
+//
+// A user may set the IPPROTO_IP option IP_PORTRANGE to change this
+// default assignment range.
+//
+// The value IP_PORTRANGE_DEFAULT causes the default behavior.
+//
+// The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT,
+// and exists only for FreeBSD compatibility purposes.
+//
+// The value IP_PORTRANGE_LOW changes the range to the "low" are
+// that is (by convention) restricted to privileged processes.
+// This convention is based on "vouchsafe" principles only.
+// It is only secure if you trust the remote host to restrict these ports.
+// The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX.
+
+// IPv6 address
+type In6_addr = struct {
+ F__u6_addr struct {
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
+ }
+} /* in6.h:123:1 */
+
+// Socket address for IPv6
+type Sockaddr_in6 = struct {
+ Fsin6_len Uint8_t
+ Fsin6_family X__sa_family_t
+ Fsin6_port X__in_port_t
+ Fsin6_flowinfo Uint32_t
+ Fsin6_addr struct {
+ F__u6_addr struct {
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
+ }
+ }
+ Fsin6_scope_id Uint32_t
+} /* in6.h:146:1 */
+
+// Unspecified
+
+// Loopback
+
+// IPv4 compatible
+
+// Mapped
+
+// KAME Scope Values
+
+// Unicast Scope
+// Note that we must check topmost 10 bits only, not 16 bits (see RFC2373).
+
+// Multicast
+
+// Multicast Scope
+
+// Options for use with [gs]etsockopt at the IPV6 level.
+// First word of comment is data type; bool is stored in int.
+// no hdrincl
+// The join and leave membership option numbers need to match with the v4 ones
+// RFC2292 options
+
+// new socket options introduced in RFC3542
+
+// more new socket options introduced in RFC3542
+
+// to define items, should talk with KAME guys first, for *BSD compatibility
+
+// Defaults and limits for options
+
+// Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP.
+type Ipv6_mreq = struct {
+ Fipv6mr_multiaddr struct {
+ F__u6_addr struct {
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
+ }
+ }
+ Fipv6mr_interface uint32
+} /* in6.h:459:1 */
+
+// IPV6_PKTINFO: Packet information(RFC2292 sec 5)
+type In6_pktinfo = struct {
+ Fipi6_addr struct {
+ F__u6_addr struct {
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
+ }
+ }
+ Fipi6_ifindex uint32
+} /* in6.h:467:1 */
+
+// Control structure for IPV6_RECVPATHMTU socket option.
+type Ip6_mtuinfo = struct {
+ Fip6m_addr struct {
+ Fsin6_len Uint8_t
+ Fsin6_family X__sa_family_t
+ Fsin6_port X__in_port_t
+ Fsin6_flowinfo Uint32_t
+ Fsin6_addr struct {
+ F__u6_addr struct {
+ F__ccgo_pad1 [0]uint32
+ F__u6_addr8 [16]X__uint8_t
+ }
+ }
+ Fsin6_scope_id Uint32_t
+ }
+ Fip6m_mtu Uint32_t
+} /* in6.h:475:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/nopthreads.go b/vendor/modernc.org/libc/nopthreads.go
deleted file mode 100644
index 80ca4ccc0..000000000
--- a/vendor/modernc.org/libc/nopthreads.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2021 The Libc Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build windows || darwin || (linux && arm) || (linux && s390x) || (linux && 386) || (linux && arm) || (linux && arm64) || (freebsd && amd64)
-// +build windows darwin linux,arm linux,s390x linux,386 linux,arm linux,arm64 freebsd,amd64
-
-package libc // import "modernc.org/libc"
-
-import (
- "sync/atomic"
- "unsafe"
-)
-
-var errno0 int32 // Temp errno for NewTLS
-
-type TLS struct {
- ID int32
- errnop uintptr
- reentryGuard int32 // memgrind
- stack stackHeader
- stackHeaderBalance int32
-}
-
-func NewTLS() *TLS {
- id := atomic.AddInt32(&tid, 1)
- t := &TLS{ID: id, errnop: uintptr(unsafe.Pointer(&errno0))}
- if memgrind {
- atomic.AddInt32(&tlsBalance, 1)
- }
- t.errnop = t.Alloc(int(unsafe.Sizeof(int32(0))))
- *(*int32)(unsafe.Pointer(t.errnop)) = 0
- return t
-}
diff --git a/vendor/modernc.org/libc/poll/capi_darwin_amd64.go b/vendor/modernc.org/libc/poll/capi_darwin_amd64.go
index d30e8f987..2589fc07f 100644
--- a/vendor/modernc.org/libc/poll/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/poll/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_darwin_amd64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_darwin_amd64.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_darwin_arm64.go b/vendor/modernc.org/libc/poll/capi_darwin_arm64.go
index 7f2222285..b5e9cffdb 100644
--- a/vendor/modernc.org/libc/poll/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/poll/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_darwin_arm64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_darwin_arm64.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_linux_386.go b/vendor/modernc.org/libc/poll/capi_linux_386.go
index 1419ab870..e97704391 100644
--- a/vendor/modernc.org/libc/poll/capi_linux_386.go
+++ b/vendor/modernc.org/libc/poll/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_386.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_386.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_linux_amd64.go b/vendor/modernc.org/libc/poll/capi_linux_amd64.go
index c1852edb6..d59907927 100644
--- a/vendor/modernc.org/libc/poll/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/poll/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_amd64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_amd64.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_linux_arm.go b/vendor/modernc.org/libc/poll/capi_linux_arm.go
index 7a022a47d..4c5370743 100644
--- a/vendor/modernc.org/libc/poll/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/poll/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_arm.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_arm.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_linux_arm64.go b/vendor/modernc.org/libc/poll/capi_linux_arm64.go
index 16504bafa..9035dda65 100644
--- a/vendor/modernc.org/libc/poll/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/poll/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_arm64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_arm64.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_linux_s390x.go b/vendor/modernc.org/libc/poll/capi_linux_s390x.go
index a3a1e9ea9..36ce787ef 100644
--- a/vendor/modernc.org/libc/poll/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/poll/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_s390x.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_s390x.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/capi_netbsd_amd64.go b/vendor/modernc.org/libc/poll/capi_netbsd_amd64.go
new file mode 100644
index 000000000..1f0d73f7b
--- /dev/null
+++ b/vendor/modernc.org/libc/poll/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo poll/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 poll/poll_netbsd_amd64.go -pkgname poll', DO NOT EDIT.
+
+package poll
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/poll/poll_darwin_amd64.go b/vendor/modernc.org/libc/poll/poll_darwin_amd64.go
index 87ec19a99..08f1916a8 100644
--- a/vendor/modernc.org/libc/poll/poll_darwin_amd64.go
+++ b/vendor/modernc.org/libc/poll/poll_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_darwin_amd64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_darwin_amd64.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/poll_darwin_arm64.go b/vendor/modernc.org/libc/poll/poll_darwin_arm64.go
index f571df9fa..30ae157ba 100644
--- a/vendor/modernc.org/libc/poll/poll_darwin_arm64.go
+++ b/vendor/modernc.org/libc/poll/poll_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_darwin_arm64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_darwin_arm64.go -pkgname poll', DO NOT EDIT.
package poll
diff --git a/vendor/modernc.org/libc/poll/poll_freebsd_amd64.go b/vendor/modernc.org/libc/poll/poll_freebsd_amd64.go
index ab3cd770e..38327a13e 100644
--- a/vendor/modernc.org/libc/poll/poll_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/poll/poll_freebsd_amd64.go
@@ -624,8 +624,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
diff --git a/vendor/modernc.org/libc/poll/poll_linux_386.go b/vendor/modernc.org/libc/poll/poll_linux_386.go
index c1da8ea3e..f19a26388 100644
--- a/vendor/modernc.org/libc/poll/poll_linux_386.go
+++ b/vendor/modernc.org/libc/poll/poll_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_386.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_386.go -pkgname poll', DO NOT EDIT.
package poll
@@ -29,6 +29,7 @@ const (
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_STDC_PREDEF_H = 1
@@ -49,7 +50,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Compatibility definitions for System V `poll' interface.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -64,9 +65,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -81,7 +82,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -89,6 +90,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -209,6 +211,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -231,9 +235,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -248,7 +265,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -261,7 +278,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -391,7 +408,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -412,10 +429,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -430,7 +451,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -468,7 +489,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Get the platform dependent bits of `poll'.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -483,7 +504,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Event types that can be polled for. These bits may be set in `events'
// to indicate the interesting event types; they will appear in `revents'
diff --git a/vendor/modernc.org/libc/poll/poll_linux_amd64.go b/vendor/modernc.org/libc/poll/poll_linux_amd64.go
index cf88eb46c..104c76d60 100644
--- a/vendor/modernc.org/libc/poll/poll_linux_amd64.go
+++ b/vendor/modernc.org/libc/poll/poll_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_amd64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_amd64.go -pkgname poll', DO NOT EDIT.
package poll
@@ -58,7 +58,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Compatibility definitions for System V `poll' interface.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -73,9 +73,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -90,7 +90,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -98,6 +98,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -218,6 +219,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -240,9 +243,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -257,7 +273,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -270,7 +286,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -285,7 +301,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -400,7 +416,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -421,11 +437,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -440,7 +460,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -478,7 +498,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Get the platform dependent bits of `poll'.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -493,7 +513,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Event types that can be polled for. These bits may be set in `events'
// to indicate the interesting event types; they will appear in `revents'
diff --git a/vendor/modernc.org/libc/poll/poll_linux_arm.go b/vendor/modernc.org/libc/poll/poll_linux_arm.go
index 18213f026..ea5de1cda 100644
--- a/vendor/modernc.org/libc/poll/poll_linux_arm.go
+++ b/vendor/modernc.org/libc/poll/poll_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_arm.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_arm.go -pkgname poll', DO NOT EDIT.
package poll
@@ -48,7 +48,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Compatibility definitions for System V `poll' interface.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -63,9 +63,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -80,7 +80,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -88,6 +88,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -208,6 +209,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -230,9 +233,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -247,7 +263,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -260,7 +276,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -275,7 +291,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -390,7 +406,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -411,7 +427,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -426,10 +446,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -444,7 +464,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -498,7 +518,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Get the platform dependent bits of `poll'.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -513,7 +533,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Event types that can be polled for. These bits may be set in `events'
// to indicate the interesting event types; they will appear in `revents'
@@ -537,4 +557,4 @@ type Pollfd = struct {
// Define some inlines helping to catch common problems.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/poll/poll_linux_arm64.go b/vendor/modernc.org/libc/poll/poll_linux_arm64.go
index e895ad08f..304256793 100644
--- a/vendor/modernc.org/libc/poll/poll_linux_arm64.go
+++ b/vendor/modernc.org/libc/poll/poll_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_arm64.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_arm64.go -pkgname poll', DO NOT EDIT.
package poll
@@ -58,7 +58,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Compatibility definitions for System V `poll' interface.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -73,9 +73,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -90,7 +90,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -98,6 +98,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -218,6 +219,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -240,9 +243,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -257,7 +273,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -270,7 +286,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -285,7 +301,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -400,7 +416,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -421,9 +437,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -438,10 +458,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -456,7 +476,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -490,7 +510,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -505,7 +525,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -513,7 +533,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Get the platform dependent bits of `poll'.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -528,7 +548,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Event types that can be polled for. These bits may be set in `events'
// to indicate the interesting event types; they will appear in `revents'
@@ -552,4 +572,4 @@ type Pollfd = struct {
// Define some inlines helping to catch common problems.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/poll/poll_linux_s390x.go b/vendor/modernc.org/libc/poll/poll_linux_s390x.go
index 29ad3d573..68ab3af60 100644
--- a/vendor/modernc.org/libc/poll/poll_linux_s390x.go
+++ b/vendor/modernc.org/libc/poll/poll_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_linux_s390x.go -pkgname poll', DO NOT EDIT.
+// Code generated by 'ccgo poll/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 poll/poll_linux_s390x.go -pkgname poll', DO NOT EDIT.
package poll
@@ -58,7 +58,7 @@ type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Compatibility definitions for System V `poll' interface.
-// Copyright (C) 1994-2018 Free Software Foundation, Inc.
+// Copyright (C) 1994-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -73,9 +73,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -90,7 +90,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -98,6 +98,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -218,6 +219,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -240,9 +243,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -257,7 +273,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -270,7 +286,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -285,7 +301,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -400,7 +416,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -421,10 +437,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -439,7 +459,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -476,7 +496,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// Get the platform dependent bits of `poll'.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -491,7 +511,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Event types that can be polled for. These bits may be set in `events'
// to indicate the interesting event types; they will appear in `revents'
@@ -515,4 +535,4 @@ type Pollfd = struct {
// Define some inlines helping to catch common problems.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/poll/poll_netbsd_amd64.go b/vendor/modernc.org/libc/poll/poll_netbsd_amd64.go
new file mode 100644
index 000000000..727df0165
--- /dev/null
+++ b/vendor/modernc.org/libc/poll/poll_netbsd_amd64.go
@@ -0,0 +1,351 @@
+// Code generated by 'ccgo poll/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 poll/poll_netbsd_amd64.go -pkgname poll', DO NOT EDIT.
+
+package poll
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ INFTIM = -1
+ POLLERR = 0x0008
+ POLLHUP = 0x0010
+ POLLIN = 0x0001
+ POLLNVAL = 0x0020
+ POLLOUT = 0x0004
+ POLLPRI = 0x0002
+ POLLRDBAND = 0x0080
+ POLLRDNORM = 0x0040
+ POLLWRBAND = 0x0100
+ POLLWRNORM = 4
+ X_AMD64_INT_TYPES_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_POLL_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// $NetBSD: poll.h,v 1.15 2009/11/11 09:48:51 rmind Exp $
+
+// -
+// Copyright (c) 1998 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Charles M. Hannum.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+type Nfds_t = uint32 /* poll.h:37:22 */
+
+type Pollfd = struct {
+ Ffd int32
+ Fevents int16
+ Frevents int16
+} /* poll.h:39:1 */
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/printf.go b/vendor/modernc.org/libc/printf.go
index fe67c7472..ce580daf5 100644
--- a/vendor/modernc.org/libc/printf.go
+++ b/vendor/modernc.org/libc/printf.go
@@ -36,6 +36,8 @@ const (
// the output stream; and conversion specifications, each of which results in
// fetching zero or more subsequent arguments.
func printf(format, args uintptr) []byte {
+ format0 := format
+ args0 := args
buf := bytes.NewBuffer(nil)
for {
switch c := *(*byte)(unsafe.Pointer(format)); c {
@@ -43,7 +45,7 @@ func printf(format, args uintptr) []byte {
format = printfConversion(buf, format, &args)
case 0:
if dmesgs {
- dmesg("%v: %q", origin(1), buf.Bytes())
+ dmesg("%v: %q, %#x -> %q", origin(1), GoString(format0), args0, buf.Bytes())
}
return buf.Bytes()
default:
@@ -385,7 +387,7 @@ more:
switch {
case hasPrecision:
f = fmt.Sprintf("%s.%ds", spec, prec)
- str = fmt.Sprintf(f, GoBytes(arg, prec))
+ str = fmt.Sprintf(f, GoString(arg))
default:
f = spec + "s"
str = fmt.Sprintf(f, GoString(arg))
diff --git a/vendor/modernc.org/libc/pthreads.go b/vendor/modernc.org/libc/pthread.go
index 9f4db4dbb..67b32ac0c 100644
--- a/vendor/modernc.org/libc/pthreads.go
+++ b/vendor/modernc.org/libc/pthread.go
@@ -2,17 +2,6 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//TODO darwin,amd64
-//TODO darwin,arm64
-//TODO freebsd,amd64
-//TODO linux,386
-//TODO linux,arm
-//TODO linux,arm64
-//TODO linux,s390x
-
-//go:build linux && amd64
-// +build linux,amd64
-
package libc // import "modernc.org/libc"
import (
@@ -98,12 +87,6 @@ func (d *pthreadData) init(t *TLS, detached bool) {
threads[t.ID] = t
}
-// int pthread_attr_init(pthread_attr_t *attr);
-func Xpthread_attr_init(t *TLS, pAttr uintptr) int32 {
- *(*pthread.Pthread_attr_t)(unsafe.Pointer(pAttr)) = pthread.Pthread_attr_t{}
- return 0
-}
-
// int pthread_attr_destroy(pthread_attr_t *attr);
func Xpthread_attr_destroy(t *TLS, pAttr uintptr) int32 {
return 0
@@ -435,30 +418,6 @@ func (m *mutex) unlock() int32 {
}
}
-// The pthread_mutex_init() function shall initialize the mutex referenced by
-// mutex with attributes specified by attr. If attr is NULL, the default mutex
-// attributes are used; the effect shall be the same as passing the address of
-// a default mutex attributes object. Upon successful initialization, the state
-// of the mutex becomes initialized and unlocked.
-//
-// If successful, the pthread_mutex_destroy() and pthread_mutex_init()
-// functions shall return zero; otherwise, an error number shall be returned to
-// indicate the error.
-//
-// int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
-func Xpthread_mutex_init(t *TLS, pMutex, pAttr uintptr) int32 {
- typ := pthread.PTHREAD_MUTEX_DEFAULT
- if pAttr != 0 {
- typ = int(X__ccgo_pthreadMutexattrGettype(t, pAttr))
- }
- mutexesMu.Lock()
-
- defer mutexesMu.Unlock()
-
- mutexes[pMutex] = newMutex(typ)
- return 0
-}
-
// int pthread_mutex_destroy(pthread_mutex_t *mutex);
func Xpthread_mutex_destroy(t *TLS, pMutex uintptr) int32 {
mutexesMu.Lock()
@@ -568,7 +527,7 @@ func Xpthread_detach(t *TLS, thread pthread.Pthread_t) int32 {
// int pthread_equal(pthread_t t1, pthread_t t2);
func Xpthread_equal(t *TLS, t1, t2 pthread.Pthread_t) int32 {
- panic(todo(""))
+ return Bool32(t1 == t1)
}
// void pthread_exit(void *value_ptr);
diff --git a/vendor/modernc.org/libc/pthread/capi_darwin_amd64.go b/vendor/modernc.org/libc/pthread/capi_darwin_amd64.go
index 99caefd16..2fa8f0e2c 100644
--- a/vendor/modernc.org/libc/pthread/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/pthread/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_darwin_amd64.go -pkgname pthread', DO NOT EDIT.
+// 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_darwin_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_darwin_arm64.go b/vendor/modernc.org/libc/pthread/capi_darwin_arm64.go
index 3a23684a3..c772a1c12 100644
--- a/vendor/modernc.org/libc/pthread/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/pthread/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_darwin_arm64.go -pkgname pthread', DO NOT EDIT.
+// 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_darwin_arm64.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_linux_386.go b/vendor/modernc.org/libc/pthread/capi_linux_386.go
index c5e46be79..1a78ab758 100644
--- a/vendor/modernc.org/libc/pthread/capi_linux_386.go
+++ b/vendor/modernc.org/libc/pthread/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_386.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_386.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_linux_amd64.go b/vendor/modernc.org/libc/pthread/capi_linux_amd64.go
index 0c94855a0..ba3474e06 100644
--- a/vendor/modernc.org/libc/pthread/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/pthread/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_amd64.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_linux_arm.go b/vendor/modernc.org/libc/pthread/capi_linux_arm.go
index a48241cd8..a73c98463 100644
--- a/vendor/modernc.org/libc/pthread/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/pthread/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_arm.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_arm.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_linux_arm64.go b/vendor/modernc.org/libc/pthread/capi_linux_arm64.go
index fa3ceec80..2569731bf 100644
--- a/vendor/modernc.org/libc/pthread/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/pthread/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_arm64.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_arm64.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_linux_s390x.go b/vendor/modernc.org/libc/pthread/capi_linux_s390x.go
index bc2814df7..1e640b530 100644
--- a/vendor/modernc.org/libc/pthread/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/pthread/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_s390x.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_s390x.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_netbsd_amd64.go b/vendor/modernc.org/libc/pthread/capi_netbsd_amd64.go
new file mode 100644
index 000000000..1d030ddda
--- /dev/null
+++ b/vendor/modernc.org/libc/pthread/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// 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_netbsd_amd64.go -pkgname pthread', DO NOT EDIT.
+
+package pthread
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/pthread/capi_windows_386.go b/vendor/modernc.org/libc/pthread/capi_windows_386.go
index a6518e0ca..619b6d062 100644
--- a/vendor/modernc.org/libc/pthread/capi_windows_386.go
+++ b/vendor/modernc.org/libc/pthread/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_windows_386.go -pkgname pthread', DO NOT EDIT.
+// 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_386.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/capi_windows_amd64.go b/vendor/modernc.org/libc/pthread/capi_windows_amd64.go
index 766632090..d1a3ccf2a 100644
--- a/vendor/modernc.org/libc/pthread/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/pthread/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_windows_amd64.go -pkgname pthread', DO NOT EDIT.
+// 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_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
diff --git a/vendor/modernc.org/libc/pthread/pthread_darwin_amd64.go b/vendor/modernc.org/libc/pthread/pthread_darwin_amd64.go
index 8ae0f224e..a53bf4898 100644
--- a/vendor/modernc.org/libc/pthread/pthread_darwin_amd64.go
+++ b/vendor/modernc.org/libc/pthread/pthread_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_darwin_amd64.go -pkgname pthread', DO NOT EDIT.
+// 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_darwin_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -1007,8 +1007,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -2351,18 +2351,18 @@ type Timespec = struct {
} /* _timespec.h:33:1 */
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:75:1 */
type Clockid_t = uint32 /* time.h:172:3 */
diff --git a/vendor/modernc.org/libc/pthread/pthread_darwin_arm64.go b/vendor/modernc.org/libc/pthread/pthread_darwin_arm64.go
index 17f0e4d83..fe2606089 100644
--- a/vendor/modernc.org/libc/pthread/pthread_darwin_arm64.go
+++ b/vendor/modernc.org/libc/pthread/pthread_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_darwin_arm64.go -pkgname pthread', DO NOT EDIT.
+// 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_darwin_arm64.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -1711,7 +1711,7 @@ type Sched_param = struct {
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -2320,18 +2320,18 @@ type Timespec = struct {
} /* _timespec.h:33:1 */
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:75:1 */
type Clockid_t = uint32 /* time.h:172:3 */
diff --git a/vendor/modernc.org/libc/pthread/pthread_freebsd_amd64.go b/vendor/modernc.org/libc/pthread/pthread_freebsd_amd64.go
index cb4f7633b..40f19fc52 100644
--- a/vendor/modernc.org/libc/pthread/pthread_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/pthread/pthread_freebsd_amd64.go
@@ -143,9 +143,9 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Pthread_once = struct {
- Fstate int32
- _ [4]byte
- Fmutex Pthread_mutex_t
+ Fstate int32
+ F__ccgo_pad1 [4]byte
+ Fmutex Pthread_mutex_t
} /* _pthreadtypes.h:52:1 */
// Primitive system data type definitions required by P1003.1c.
@@ -752,8 +752,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -1070,18 +1070,18 @@ type Itimerspec = struct {
// These macros are also in sys/time.h.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:129:1 */
// -
diff --git a/vendor/modernc.org/libc/pthread/pthread_linux_386.go b/vendor/modernc.org/libc/pthread/pthread_linux_386.go
index cd66dc68f..0558924be 100644
--- a/vendor/modernc.org/libc/pthread/pthread_linux_386.go
+++ b/vendor/modernc.org/libc/pthread/pthread_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_386.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_386.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -15,8 +15,6 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
@@ -28,8 +26,6 @@ const (
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
- LITTLE_ENDIAN = 1234
- PDP_ENDIAN = 3412
PTHREAD_BARRIER_SERIAL_THREAD = -1
PTHREAD_ONCE_INIT = 0
SCHED_FIFO = 1
@@ -38,29 +34,31 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
X_BITS_CPU_SET_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SCHED_H = 1
X_BITS_SETJMP_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES_STRUCT_SCHED_PARAM = 1
X_BITS_TYPES___LOCALE_T_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_PTHREAD_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SCHED_H = 1
X_SIZET_ = 0
X_SIZE_T = 0
@@ -72,6 +70,7 @@ const (
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -82,43 +81,39 @@ const (
)
// Read-write lock types.
-const ( /* pthread.h:115:1: */
+const ( /* pthread.h:100:1: */
PTHREAD_RWLOCK_PREFER_READER_NP = 0
PTHREAD_RWLOCK_PREFER_WRITER_NP = 1
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2
PTHREAD_RWLOCK_DEFAULT_NP = 0
)
-// Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
-// has the shared field. All 64-bit architectures have the shared field
-// in pthread_rwlock_t.
-
// Read-write lock initializers.
// Scheduler inheritance.
-const ( /* pthread.h:156:1: */
+const ( /* pthread.h:120:1: */
PTHREAD_INHERIT_SCHED = 0
PTHREAD_EXPLICIT_SCHED = 1
)
// Scope handling.
-const ( /* pthread.h:166:1: */
+const ( /* pthread.h:130:1: */
PTHREAD_SCOPE_SYSTEM = 0
PTHREAD_SCOPE_PROCESS = 1
)
// Process shared or private flag.
-const ( /* pthread.h:176:1: */
+const ( /* pthread.h:140:1: */
PTHREAD_PROCESS_PRIVATE = 0
PTHREAD_PROCESS_SHARED = 1
)
// Cancellation
-const ( /* pthread.h:200:1: */
+const ( /* pthread.h:164:1: */
PTHREAD_CANCEL_ENABLE = 0
PTHREAD_CANCEL_DISABLE = 1
)
-const ( /* pthread.h:207:1: */
+const ( /* pthread.h:171:1: */
PTHREAD_CANCEL_DEFERRED = 0
PTHREAD_CANCEL_ASYNCHRONOUS = 1
)
@@ -169,7 +164,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -184,9 +179,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -201,7 +196,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -209,6 +204,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -329,6 +325,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -351,9 +349,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -368,7 +379,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -381,7 +392,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -396,7 +407,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -511,7 +522,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -532,10 +543,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -550,7 +565,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -587,7 +602,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -602,9 +618,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -619,25 +635,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Definitions for byte order, according to significance of bytes,
-// from low addresses to high addresses. The value is what you get by
-// putting '4' in the most significant byte, '3' in the second most
-// significant byte, '2' in the second least significant byte, and '1'
-// in the least significant byte, and then writing down one digit for
-// each byte, starting with the byte at the lowest address at the left,
-// and proceeding to the byte with the highest address at the right.
-
-// This file defines `__BYTE_ORDER' for the particular machine.
-// i386/x86_64 are little-endian.
-
-// Some machines may need to use a different endianness for floating point
-// values.
-
-// Conversion interfaces.
-// Macros and inline functions to swap the order of bytes in integer values.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Get type definitions.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -652,27 +654,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// Never include this file directly; use <sys/types.h> instead.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -687,11 +673,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
+// Determine the wordsize from the preprocessor defines.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -706,43 +693,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -754,7 +741,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -776,7 +763,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -791,7 +778,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -800,76 +787,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -879,15 +893,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -902,7 +911,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -912,7 +921,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -927,23 +936,56 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Pid_t = X__pid_t /* sched.h:38:17 */
// Get system specific constant and data structure definitions.
// Definitions of constants and data structure for POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -958,12 +1000,12 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Scheduling algorithms.
// Sched parameter structure. Generic version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -978,14 +1020,14 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Data structure to describe a process' schedulability.
type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1 */
// Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1000,7 +1042,7 @@ type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Size definition for CPU sets.
@@ -1012,7 +1054,7 @@ type X__cpu_mask = uint32 /* cpu-set.h:32:25 */
// Data structure to describe CPU mask.
type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1027,11 +1069,11 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1046,9 +1088,9 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1080,15 +1122,6 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1123,17 +1156,12 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1148,12 +1176,12 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1168,7 +1196,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1197,7 +1225,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1212,7 +1240,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1220,7 +1248,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1235,7 +1263,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1257,7 +1285,7 @@ type Tm = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1272,7 +1300,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1280,7 +1308,7 @@ type Tm = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1295,7 +1323,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1303,7 +1331,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1318,7 +1346,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1337,7 +1365,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1352,10 +1380,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1371,7 +1399,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1390,8 +1418,8 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1408,9 +1436,27 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1425,7 +1471,7 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1440,36 +1486,6 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1478,11 +1494,37 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1499,37 +1541,125 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1538,13 +1668,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1556,7 +1730,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1565,15 +1739,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1583,8 +1757,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1598,8 +1772,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1608,16 +1782,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1632,7 +1806,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define the machine-dependent type `jmp_buf'. x86-64 version.
@@ -1648,7 +1822,7 @@ type X_pthread_cleanup_buffer = struct {
F__arg uintptr
F__canceltype int32
F__prev uintptr
-} /* pthread.h:191:1 */
+} /* pthread.h:155:1 */
// Cancellation handling with integration into exception handling.
@@ -1658,7 +1832,7 @@ type X__pthread_unwind_buf_t = struct {
F__mask_was_saved int32
}
F__pad [4]uintptr
-} /* pthread.h:532:3 */
+} /* pthread.h:507:3 */
// No special attributes by default.
@@ -1668,6 +1842,6 @@ type X__pthread_cleanup_frame = struct {
F__cancel_arg uintptr
F__do_it int32
F__cancel_type int32
-} /* pthread.h:541:1 */
+} /* pthread.h:516:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pthread/pthread_linux_amd64.go b/vendor/modernc.org/libc/pthread/pthread_linux_amd64.go
index 13038e48f..fcff0c8ac 100644
--- a/vendor/modernc.org/libc/pthread/pthread_linux_amd64.go
+++ b/vendor/modernc.org/libc/pthread/pthread_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_amd64.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -15,8 +15,6 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
@@ -28,8 +26,6 @@ const (
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
- LITTLE_ENDIAN = 1234
- PDP_ENDIAN = 3412
PTHREAD_BARRIER_SERIAL_THREAD = -1
PTHREAD_ONCE_INIT = 0
SCHED_FIFO = 1
@@ -38,23 +34,23 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
X_BITS_CPU_SET_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SCHED_H = 1
X_BITS_SETJMP_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES_STRUCT_SCHED_PARAM = 1
X_BITS_TYPES___LOCALE_T_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
@@ -62,6 +58,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_PTHREAD_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SCHED_H = 1
X_SIZET_ = 0
X_SIZE_T = 0
@@ -73,6 +70,7 @@ const (
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -82,43 +80,39 @@ const (
)
// Read-write lock types.
-const ( /* pthread.h:115:1: */
+const ( /* pthread.h:100:1: */
PTHREAD_RWLOCK_PREFER_READER_NP = 0
PTHREAD_RWLOCK_PREFER_WRITER_NP = 1
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2
PTHREAD_RWLOCK_DEFAULT_NP = 0
)
-// Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
-// has the shared field. All 64-bit architectures have the shared field
-// in pthread_rwlock_t.
-
// Read-write lock initializers.
// Scheduler inheritance.
-const ( /* pthread.h:156:1: */
+const ( /* pthread.h:120:1: */
PTHREAD_INHERIT_SCHED = 0
PTHREAD_EXPLICIT_SCHED = 1
)
// Scope handling.
-const ( /* pthread.h:166:1: */
+const ( /* pthread.h:130:1: */
PTHREAD_SCOPE_SYSTEM = 0
PTHREAD_SCOPE_PROCESS = 1
)
// Process shared or private flag.
-const ( /* pthread.h:176:1: */
+const ( /* pthread.h:140:1: */
PTHREAD_PROCESS_PRIVATE = 0
PTHREAD_PROCESS_SHARED = 1
)
// Cancellation
-const ( /* pthread.h:200:1: */
+const ( /* pthread.h:164:1: */
PTHREAD_CANCEL_ENABLE = 0
PTHREAD_CANCEL_DISABLE = 1
)
-const ( /* pthread.h:207:1: */
+const ( /* pthread.h:171:1: */
PTHREAD_CANCEL_DEFERRED = 0
PTHREAD_CANCEL_ASYNCHRONOUS = 1
)
@@ -179,7 +173,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -194,9 +188,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -211,7 +205,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -219,6 +213,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -339,6 +334,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -361,9 +358,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -378,7 +388,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -391,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -406,7 +416,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -521,7 +531,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -542,11 +552,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -561,7 +575,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -598,7 +612,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -613,9 +628,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -630,25 +645,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// Definitions for byte order, according to significance of bytes,
-// from low addresses to high addresses. The value is what you get by
-// putting '4' in the most significant byte, '3' in the second most
-// significant byte, '2' in the second least significant byte, and '1'
-// in the least significant byte, and then writing down one digit for
-// each byte, starting with the byte at the lowest address at the left,
-// and proceeding to the byte with the highest address at the right.
-
-// This file defines `__BYTE_ORDER' for the particular machine.
-// i386/x86_64 are little-endian.
-
-// Some machines may need to use a different endianness for floating point
-// values.
+// <https://www.gnu.org/licenses/>.
-// Conversion interfaces.
-// Macros and inline functions to swap the order of bytes in integer values.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Get type definitions.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -663,27 +664,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// Never include this file directly; use <sys/types.h> instead.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -698,11 +683,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
+// Determine the wordsize from the preprocessor defines.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -717,45 +704,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
-
-// Both x86-64 and x32 use the 64-bit system call interface.
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -767,7 +752,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -788,7 +773,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -803,7 +788,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -818,78 +803,102 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -899,15 +908,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -922,7 +926,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -932,7 +936,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -947,23 +951,56 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Pid_t = X__pid_t /* sched.h:38:17 */
// Get system specific constant and data structure definitions.
// Definitions of constants and data structure for POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -978,12 +1015,12 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Scheduling algorithms.
// Sched parameter structure. Generic version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -998,14 +1035,14 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Data structure to describe a process' schedulability.
type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1 */
// Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1020,7 +1057,7 @@ type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Size definition for CPU sets.
@@ -1032,7 +1069,7 @@ type X__cpu_mask = uint64 /* cpu-set.h:32:25 */
// Data structure to describe CPU mask.
type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1047,11 +1084,11 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1066,9 +1103,9 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1100,15 +1137,6 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1143,17 +1171,12 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1168,12 +1191,12 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1188,7 +1211,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1217,7 +1240,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1232,7 +1255,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1240,7 +1263,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1255,30 +1278,30 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1293,7 +1316,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1301,7 +1324,7 @@ type Tm = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1316,7 +1339,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1324,7 +1347,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1339,7 +1362,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1358,7 +1381,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1373,10 +1396,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1392,7 +1415,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1411,8 +1434,8 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1429,9 +1452,27 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1446,7 +1487,7 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1461,36 +1502,6 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1499,11 +1510,8 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1518,42 +1526,156 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1564,7 +1686,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1576,7 +1744,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1585,15 +1753,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1603,8 +1771,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1618,8 +1786,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1628,16 +1796,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1652,7 +1820,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define the machine-dependent type `jmp_buf'. x86-64 version.
@@ -1669,9 +1837,9 @@ type X_pthread_cleanup_buffer = struct {
F__routine uintptr
F__arg uintptr
F__canceltype int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F__prev uintptr
-} /* pthread.h:191:1 */
+} /* pthread.h:155:1 */
// Cancellation handling with integration into exception handling.
@@ -1679,10 +1847,10 @@ type X__pthread_unwind_buf_t = struct {
F__cancel_jmp_buf [1]struct {
F__cancel_jmp_buf X__jmp_buf
F__mask_was_saved int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
}
F__pad [4]uintptr
-} /* pthread.h:532:3 */
+} /* pthread.h:507:3 */
// No special attributes by default.
@@ -1692,6 +1860,6 @@ type X__pthread_cleanup_frame = struct {
F__cancel_arg uintptr
F__do_it int32
F__cancel_type int32
-} /* pthread.h:541:1 */
+} /* pthread.h:516:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pthread/pthread_linux_arm.go b/vendor/modernc.org/libc/pthread/pthread_linux_arm.go
index 230ff3cac..006f92ebf 100644
--- a/vendor/modernc.org/libc/pthread/pthread_linux_arm.go
+++ b/vendor/modernc.org/libc/pthread/pthread_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_arm.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_arm.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -15,8 +15,6 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
@@ -28,8 +26,6 @@ const (
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
- LITTLE_ENDIAN = 1234
- PDP_ENDIAN = 3412
PTHREAD_BARRIER_SERIAL_THREAD = -1
PTHREAD_ONCE_INIT = 0
SCHED_FIFO = 1
@@ -38,23 +34,23 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
X_BITS_CPU_SET_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SCHED_H = 1
X_BITS_SETJMP_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES_STRUCT_SCHED_PARAM = 1
X_BITS_TYPES___LOCALE_T_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
@@ -72,6 +68,7 @@ const (
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -81,48 +78,44 @@ const (
)
// Read-write lock types.
-const ( /* pthread.h:115:1: */
+const ( /* pthread.h:100:1: */
PTHREAD_RWLOCK_PREFER_READER_NP = 0
PTHREAD_RWLOCK_PREFER_WRITER_NP = 1
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2
PTHREAD_RWLOCK_DEFAULT_NP = 0
)
-// Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
-// has the shared field. All 64-bit architectures have the shared field
-// in pthread_rwlock_t.
-
// Read-write lock initializers.
// Scheduler inheritance.
-const ( /* pthread.h:156:1: */
+const ( /* pthread.h:120:1: */
PTHREAD_INHERIT_SCHED = 0
PTHREAD_EXPLICIT_SCHED = 1
)
// Scope handling.
-const ( /* pthread.h:166:1: */
+const ( /* pthread.h:130:1: */
PTHREAD_SCOPE_SYSTEM = 0
PTHREAD_SCOPE_PROCESS = 1
)
// Process shared or private flag.
-const ( /* pthread.h:176:1: */
+const ( /* pthread.h:140:1: */
PTHREAD_PROCESS_PRIVATE = 0
PTHREAD_PROCESS_SHARED = 1
)
// Cancellation
-const ( /* pthread.h:200:1: */
+const ( /* pthread.h:164:1: */
PTHREAD_CANCEL_ENABLE = 0
PTHREAD_CANCEL_DISABLE = 1
)
-const ( /* pthread.h:207:1: */
+const ( /* pthread.h:171:1: */
PTHREAD_CANCEL_DEFERRED = 0
PTHREAD_CANCEL_ASYNCHRONOUS = 1
)
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -137,7 +130,7 @@ const ( /* pthread.h:207:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// NB: Include guard matches what <linux/time.h> uses.
@@ -183,7 +176,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -198,9 +191,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -215,7 +208,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -223,6 +216,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -343,6 +337,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -365,9 +361,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -382,7 +391,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -395,7 +404,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -410,7 +419,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -525,7 +534,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -546,7 +555,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -561,10 +574,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -579,7 +592,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -632,7 +645,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -647,9 +661,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -664,26 +678,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// Definitions for byte order, according to significance of bytes,
-// from low addresses to high addresses. The value is what you get by
-// putting '4' in the most significant byte, '3' in the second most
-// significant byte, '2' in the second least significant byte, and '1'
-// in the least significant byte, and then writing down one digit for
-// each byte, starting with the byte at the lowest address at the left,
-// and proceeding to the byte with the highest address at the right.
-
-// This file defines `__BYTE_ORDER' for the particular machine.
-
-// ARM can be either big or little endian.
+// <https://www.gnu.org/licenses/>.
-// Some machines may need to use a different endianness for floating point
-// values.
-
-// Conversion interfaces.
-// Macros and inline functions to swap the order of bytes in integer values.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Get type definitions.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -698,9 +697,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -715,10 +716,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -733,11 +733,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
-
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -752,9 +751,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -769,41 +768,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -815,7 +816,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -837,7 +838,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -852,83 +853,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -938,15 +966,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -961,7 +984,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -971,7 +994,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -986,23 +1009,56 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// ARM has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Pid_t = X__pid_t /* sched.h:38:17 */
// Get system specific constant and data structure definitions.
// Definitions of constants and data structure for POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1017,12 +1073,12 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Scheduling algorithms.
// Sched parameter structure. Generic version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1037,14 +1093,14 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Data structure to describe a process' schedulability.
type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1 */
// Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1059,7 +1115,7 @@ type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Size definition for CPU sets.
@@ -1071,7 +1127,7 @@ type X__cpu_mask = uint32 /* cpu-set.h:32:25 */
// Data structure to describe CPU mask.
type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1086,11 +1142,11 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1105,9 +1161,9 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1139,15 +1195,6 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1182,17 +1229,12 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1207,12 +1249,12 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1227,7 +1269,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1256,7 +1298,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1271,7 +1313,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1279,7 +1321,7 @@ type Cpu_set_t = struct{ F__bits [32]X__cpu_mask } /* cpu-set.h:42:3 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1294,7 +1336,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1316,7 +1358,7 @@ type Tm = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1331,7 +1373,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1339,7 +1381,7 @@ type Tm = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1354,7 +1396,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1362,7 +1404,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1377,7 +1419,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1396,7 +1438,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1411,10 +1453,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1430,7 +1472,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1449,8 +1491,8 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1467,9 +1509,27 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1484,7 +1544,7 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1499,36 +1559,6 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1537,11 +1567,10 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1555,10 +1584,35 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1575,32 +1629,145 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__pad1 uint8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Common definition of pthread_mutex_t.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1609,7 +1776,73 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__pad1 uint8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -1621,7 +1854,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1630,15 +1863,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1648,8 +1881,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1663,8 +1896,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1673,16 +1906,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 2004-2018 Free Software Foundation, Inc.
+// Copyright (C) 2004-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1697,7 +1930,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define the machine-dependent type `jmp_buf'. ARM EABI version.
@@ -1716,7 +1949,7 @@ type X_pthread_cleanup_buffer = struct {
F__arg uintptr
F__canceltype int32
F__prev uintptr
-} /* pthread.h:191:1 */
+} /* pthread.h:155:1 */
// Cancellation handling with integration into exception handling.
@@ -1726,7 +1959,7 @@ type X__pthread_unwind_buf_t = struct {
F__mask_was_saved int32
}
F__pad [4]uintptr
-} /* pthread.h:532:3 */
+} /* pthread.h:507:3 */
// No special attributes by default.
@@ -1736,6 +1969,6 @@ type X__pthread_cleanup_frame = struct {
F__cancel_arg uintptr
F__do_it int32
F__cancel_type int32
-} /* pthread.h:541:1 */
+} /* pthread.h:516:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pthread/pthread_linux_arm64.go b/vendor/modernc.org/libc/pthread/pthread_linux_arm64.go
index 21ca55753..58441cddf 100644
--- a/vendor/modernc.org/libc/pthread/pthread_linux_arm64.go
+++ b/vendor/modernc.org/libc/pthread/pthread_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_arm64.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_arm64.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -15,8 +15,6 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
@@ -28,8 +26,6 @@ const (
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
- LITTLE_ENDIAN = 1234
- PDP_ENDIAN = 3412
PTHREAD_BARRIER_SERIAL_THREAD = -1
PTHREAD_ONCE_INIT = 0
SCHED_FIFO = 1
@@ -38,23 +34,23 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
X_BITS_CPU_SET_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SCHED_H = 1
X_BITS_SETJMP_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES_STRUCT_SCHED_PARAM = 1
X_BITS_TYPES___LOCALE_T_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
@@ -62,6 +58,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_PTHREAD_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SCHED_H = 1
X_SIZET_ = 0
X_SIZE_T = 0
@@ -73,6 +70,7 @@ const (
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -82,50 +80,46 @@ const (
)
// Read-write lock types.
-const ( /* pthread.h:115:1: */
+const ( /* pthread.h:100:1: */
PTHREAD_RWLOCK_PREFER_READER_NP = 0
PTHREAD_RWLOCK_PREFER_WRITER_NP = 1
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2
PTHREAD_RWLOCK_DEFAULT_NP = 0
)
-// Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
-// has the shared field. All 64-bit architectures have the shared field
-// in pthread_rwlock_t.
-
// Read-write lock initializers.
// Scheduler inheritance.
-const ( /* pthread.h:156:1: */
+const ( /* pthread.h:120:1: */
PTHREAD_INHERIT_SCHED = 0
PTHREAD_EXPLICIT_SCHED = 1
)
// Scope handling.
-const ( /* pthread.h:166:1: */
+const ( /* pthread.h:130:1: */
PTHREAD_SCOPE_SYSTEM = 0
PTHREAD_SCOPE_PROCESS = 1
)
// Process shared or private flag.
-const ( /* pthread.h:176:1: */
+const ( /* pthread.h:140:1: */
PTHREAD_PROCESS_PRIVATE = 0
PTHREAD_PROCESS_SHARED = 1
)
// Cancellation
-const ( /* pthread.h:200:1: */
+const ( /* pthread.h:164:1: */
PTHREAD_CANCEL_ENABLE = 0
PTHREAD_CANCEL_DISABLE = 1
)
-const ( /* pthread.h:207:1: */
+const ( /* pthread.h:171:1: */
PTHREAD_CANCEL_DEFERRED = 0
PTHREAD_CANCEL_ASYNCHRONOUS = 1
)
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -140,7 +134,7 @@ const ( /* pthread.h:207:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// NB: Include guard matches what <linux/time.h> uses.
@@ -195,7 +189,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -210,9 +204,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -227,7 +221,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -235,6 +229,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -355,6 +350,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -377,9 +374,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -394,7 +404,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -407,7 +417,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -422,7 +432,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -537,7 +547,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -558,9 +568,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -575,10 +589,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -593,7 +607,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -627,7 +641,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -642,14 +656,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -664,9 +679,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -681,43 +696,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// Definitions for byte order, according to significance of bytes,
-// from low addresses to high addresses. The value is what you get by
-// putting '4' in the most significant byte, '3' in the second most
-// significant byte, '2' in the second least significant byte, and '1'
-// in the least significant byte, and then writing down one digit for
-// each byte, starting with the byte at the lowest address at the left,
-// and proceeding to the byte with the highest address at the right.
-
-// This file defines `__BYTE_ORDER' for the particular machine.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
-//
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public License as
-// published by the Free Software Foundation; either version 2.1 of the
-// License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
-
-// AArch64 can be either big or little endian.
-
-// Some machines may need to use a different endianness for floating point
-// values.
+// <https://www.gnu.org/licenses/>.
-// Conversion interfaces.
-// Macros and inline functions to swap the order of bytes in integer values.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Get type definitions.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -732,9 +715,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -749,10 +734,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -767,11 +753,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
-
-// Never include this file directly; use <sys/types.h> instead.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -786,11 +771,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -805,41 +790,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -851,7 +838,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -872,7 +859,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -888,7 +875,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -901,78 +888,101 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -982,15 +992,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1005,7 +1010,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1015,7 +1020,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1030,23 +1035,56 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// AArch64 has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Pid_t = X__pid_t /* sched.h:38:17 */
// Get system specific constant and data structure definitions.
// Definitions of constants and data structure for POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1061,12 +1099,12 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Scheduling algorithms.
// Sched parameter structure. Generic version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1081,14 +1119,14 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Data structure to describe a process' schedulability.
type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1 */
// Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1103,7 +1141,7 @@ type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Size definition for CPU sets.
@@ -1115,7 +1153,7 @@ type X__cpu_mask = uint64 /* cpu-set.h:32:25 */
// Data structure to describe CPU mask.
type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1130,11 +1168,11 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1149,9 +1187,9 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1183,15 +1221,6 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1226,17 +1255,12 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1251,12 +1275,12 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1271,7 +1295,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1300,7 +1324,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1315,7 +1339,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1323,7 +1347,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1338,30 +1362,30 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1376,7 +1400,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1384,7 +1408,7 @@ type Tm = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1399,7 +1423,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1407,7 +1431,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1422,7 +1446,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1441,7 +1465,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1456,10 +1480,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1475,7 +1499,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1494,8 +1518,8 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1512,9 +1536,27 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1529,7 +1571,7 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1544,36 +1586,6 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1582,12 +1594,27 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// This file is part of the GNU C Library.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1604,7 +1631,15 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1621,36 +1656,145 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Common definition of pthread_mutex_t.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_internal_list = struct {
- F__prev uintptr
- F__next uintptr
-} /* thread-shared-types.h:82:9 */
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1660,7 +1804,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1672,7 +1861,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1681,15 +1870,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1699,15 +1888,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -1717,8 +1906,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1727,16 +1916,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1752,7 +1941,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Jump buffer contains:
// x19-x28, x29(fp), x30(lr), (x31)sp, d8-d15. Other registers are not
@@ -1766,9 +1955,9 @@ type X_pthread_cleanup_buffer = struct {
F__routine uintptr
F__arg uintptr
F__canceltype int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F__prev uintptr
-} /* pthread.h:191:1 */
+} /* pthread.h:155:1 */
// Cancellation handling with integration into exception handling.
@@ -1776,10 +1965,10 @@ type X__pthread_unwind_buf_t = struct {
F__cancel_jmp_buf [1]struct {
F__cancel_jmp_buf X__jmp_buf
F__mask_was_saved int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
}
F__pad [4]uintptr
-} /* pthread.h:532:3 */
+} /* pthread.h:507:3 */
// No special attributes by default.
@@ -1789,6 +1978,6 @@ type X__pthread_cleanup_frame = struct {
F__cancel_arg uintptr
F__do_it int32
F__cancel_type int32
-} /* pthread.h:541:1 */
+} /* pthread.h:516:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pthread/pthread_linux_s390x.go b/vendor/modernc.org/libc/pthread/pthread_linux_s390x.go
index 28a700c7e..b7b3049ce 100644
--- a/vendor/modernc.org/libc/pthread/pthread_linux_s390x.go
+++ b/vendor/modernc.org/libc/pthread/pthread_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_linux_s390x.go -pkgname pthread', DO NOT EDIT.
+// 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_linux_s390x.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -15,8 +15,6 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- BIG_ENDIAN = 4321
- BYTE_ORDER = 4321
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
@@ -28,8 +26,6 @@ const (
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
- LITTLE_ENDIAN = 1234
- PDP_ENDIAN = 3412
PTHREAD_BARRIER_SERIAL_THREAD = -1
PTHREAD_ONCE_INIT = 0
SCHED_FIFO = 1
@@ -38,22 +34,22 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
X_BITS_CPU_SET_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SCHED_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES_STRUCT_SCHED_PARAM = 1
X_BITS_TYPES___LOCALE_T_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
@@ -61,6 +57,7 @@ const (
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_PTHREAD_H = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SCHED_H = 1
X_SIZET_ = 0
X_SIZE_T = 0
@@ -72,6 +69,7 @@ const (
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -81,43 +79,39 @@ const (
)
// Read-write lock types.
-const ( /* pthread.h:115:1: */
+const ( /* pthread.h:100:1: */
PTHREAD_RWLOCK_PREFER_READER_NP = 0
PTHREAD_RWLOCK_PREFER_WRITER_NP = 1
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2
PTHREAD_RWLOCK_DEFAULT_NP = 0
)
-// Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
-// has the shared field. All 64-bit architectures have the shared field
-// in pthread_rwlock_t.
-
// Read-write lock initializers.
// Scheduler inheritance.
-const ( /* pthread.h:156:1: */
+const ( /* pthread.h:120:1: */
PTHREAD_INHERIT_SCHED = 0
PTHREAD_EXPLICIT_SCHED = 1
)
// Scope handling.
-const ( /* pthread.h:166:1: */
+const ( /* pthread.h:130:1: */
PTHREAD_SCOPE_SYSTEM = 0
PTHREAD_SCOPE_PROCESS = 1
)
// Process shared or private flag.
-const ( /* pthread.h:176:1: */
+const ( /* pthread.h:140:1: */
PTHREAD_PROCESS_PRIVATE = 0
PTHREAD_PROCESS_SHARED = 1
)
// Cancellation
-const ( /* pthread.h:200:1: */
+const ( /* pthread.h:164:1: */
PTHREAD_CANCEL_ENABLE = 0
PTHREAD_CANCEL_DISABLE = 1
)
-const ( /* pthread.h:207:1: */
+const ( /* pthread.h:171:1: */
PTHREAD_CANCEL_DEFERRED = 0
PTHREAD_CANCEL_ASYNCHRONOUS = 1
)
@@ -177,7 +171,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -192,9 +186,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -209,7 +203,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -217,6 +211,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -337,6 +332,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -359,9 +356,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -376,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -389,7 +399,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -404,7 +414,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -519,7 +529,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -540,10 +550,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -558,7 +572,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -594,7 +608,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -609,9 +624,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -626,25 +641,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Definitions for byte order, according to significance of bytes,
-// from low addresses to high addresses. The value is what you get by
-// putting '4' in the most significant byte, '3' in the second most
-// significant byte, '2' in the second least significant byte, and '1'
-// in the least significant byte, and then writing down one digit for
-// each byte, starting with the byte at the lowest address at the left,
-// and proceeding to the byte with the highest address at the right.
-
-// This file defines `__BYTE_ORDER' for the particular machine.
-// s390 is big-endian
-
-// Some machines may need to use a different endianness for floating point
-// values.
-
-// Conversion interfaces.
-// Macros and inline functions to swap the order of bytes in integer values.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Get type definitions.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -659,27 +660,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
-// This file is part of the GNU C Library.
-//
-// The GNU C Library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// The GNU C Library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// Never include this file directly; use <sys/types.h> instead.
-// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -694,11 +679,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Never include this file directly; use <sys/types.h> instead.
+// Determine the wordsize from the preprocessor defines.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -713,43 +699,45 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -761,7 +749,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -782,7 +770,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -797,7 +785,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -812,78 +800,102 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -893,15 +905,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -916,7 +923,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -926,7 +933,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -941,23 +948,56 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// S/390 is big-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Pid_t = X__pid_t /* sched.h:38:17 */
// Get system specific constant and data structure definitions.
// Definitions of constants and data structure for POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -972,12 +1012,12 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Scheduling algorithms.
// Sched parameter structure. Generic version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -992,14 +1032,14 @@ type Pid_t = X__pid_t /* sched.h:38:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Data structure to describe a process' schedulability.
type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1 */
// Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
// scheduling interface.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1014,7 +1054,7 @@ type Sched_param = struct{ Fsched_priority int32 } /* struct_sched_param.h:23:1
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Size definition for CPU sets.
@@ -1026,7 +1066,7 @@ type X__cpu_mask = uint64 /* cpu-set.h:32:25 */
// Data structure to describe CPU mask.
type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1041,11 +1081,11 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1060,9 +1100,9 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1094,15 +1134,6 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1137,17 +1168,12 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1162,12 +1188,12 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1182,7 +1208,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1211,7 +1237,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1226,7 +1252,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1234,7 +1260,7 @@ type Cpu_set_t = struct{ F__bits [16]X__cpu_mask } /* cpu-set.h:42:3 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1249,30 +1275,30 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1287,7 +1313,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1295,7 +1321,7 @@ type Tm = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1310,7 +1336,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1318,7 +1344,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1333,7 +1359,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1352,7 +1378,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1367,10 +1393,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1386,7 +1412,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1405,8 +1431,8 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1423,9 +1449,27 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1440,7 +1484,7 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1455,36 +1499,6 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1493,11 +1507,10 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1516,35 +1529,150 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1555,7 +1683,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1567,7 +1740,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1576,15 +1749,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1594,8 +1767,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1609,8 +1782,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1619,16 +1792,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 2000-2018 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1643,7 +1816,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define the machine-dependent type `jmp_buf'. IBM s390 version.
@@ -1654,7 +1827,7 @@ type X__s390_jmp_buf = struct {
F__fpregs [8]int64
} /* setjmp.h:31:9 */
-// Copyright (C) 2000-2018 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1669,7 +1842,7 @@ type X__s390_jmp_buf = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define the machine-dependent type `jmp_buf'. IBM s390 version.
@@ -1684,9 +1857,9 @@ type X_pthread_cleanup_buffer = struct {
F__routine uintptr
F__arg uintptr
F__canceltype int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F__prev uintptr
-} /* pthread.h:191:1 */
+} /* pthread.h:155:1 */
// Cancellation handling with integration into exception handling.
@@ -1694,10 +1867,10 @@ type X__pthread_unwind_buf_t = struct {
F__cancel_jmp_buf [1]struct {
F__cancel_jmp_buf X__jmp_buf
F__mask_was_saved int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
}
F__pad [4]uintptr
-} /* pthread.h:532:3 */
+} /* pthread.h:507:3 */
// No special attributes by default.
@@ -1707,6 +1880,6 @@ type X__pthread_cleanup_frame = struct {
F__cancel_arg uintptr
F__do_it int32
F__cancel_type int32
-} /* pthread.h:541:1 */
+} /* pthread.h:516:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pthread/pthread_netbsd_amd64.go b/vendor/modernc.org/libc/pthread/pthread_netbsd_amd64.go
new file mode 100644
index 000000000..8165861a3
--- /dev/null
+++ b/vendor/modernc.org/libc/pthread/pthread_netbsd_amd64.go
@@ -0,0 +1,2741 @@
+// 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_netbsd_amd64.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 (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ CLOCKS_PER_SEC = 100
+ CLOCK_MONOTONIC = 3
+ CLOCK_PROCESS_CPUTIME_ID = 0x40000000
+ CLOCK_PROF = 2
+ CLOCK_REALTIME = 0
+ CLOCK_THREAD_CPUTIME_ID = 0x20000000
+ CLOCK_VIRTUAL = 1
+ CLONE_CSIGNAL = 0x000000ff
+ CLONE_FILES = 0x00000400
+ CLONE_FS = 0x00000200
+ CLONE_PID = 0x00001000
+ CLONE_PTRACE = 0x00002000
+ CLONE_SIGHAND = 0x00000800
+ CLONE_VFORK = 0x00004000
+ CLONE_VM = 0x00000100
+ CPUSTATES = 5
+ CP_IDLE = 4
+ CP_INTR = 3
+ CP_NICE = 1
+ CP_SYS = 2
+ CP_USER = 0
+ FD_SETSIZE = 256
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ ITIMER_MONOTONIC = 3
+ ITIMER_PROF = 2
+ ITIMER_REAL = 0
+ ITIMER_VIRTUAL = 1
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTHREAD_BARRIER_SERIAL_THREAD = 1234567
+ PTHREAD_CANCEL_ASYNCHRONOUS = 1
+ PTHREAD_CANCEL_DEFERRED = 0
+ PTHREAD_CANCEL_DISABLE = 1
+ PTHREAD_CANCEL_ENABLE = 0
+ PTHREAD_CREATE_DETACHED = 1
+ PTHREAD_CREATE_JOINABLE = 0
+ PTHREAD_EXPLICIT_SCHED = 1
+ PTHREAD_INHERIT_SCHED = 0
+ PTHREAD_MAX_NAMELEN_NP = 32
+ PTHREAD_MUTEX_DEFAULT = 0
+ PTHREAD_MUTEX_ERRORCHECK = 1
+ PTHREAD_MUTEX_NORMAL = 0
+ PTHREAD_MUTEX_RECURSIVE = 2
+ PTHREAD_PRIO_INHERIT = 1
+ PTHREAD_PRIO_NONE = 0
+ PTHREAD_PRIO_PROTECT = 2
+ PTHREAD_PROCESS_PRIVATE = 0
+ PTHREAD_PROCESS_SHARED = 1
+ PTHREAD_SCOPE_PROCESS = 0
+ PTHREAD_SCOPE_SYSTEM = 1
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SCHED_FIFO = 1
+ SCHED_NONE = -1
+ SCHED_OTHER = 0
+ SCHED_RR = 2
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ TIMER_ABSTIME = 0x1
+ TIMER_RELTIME = 0x0
+ TIME_UTC = 1
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_H = 0
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SCHED_H_ = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_IDTYPE_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_SYS_SCHED_H_ = 0
+ X_SYS_SELECT_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TIMESPEC_H_ = 0
+ X_SYS_TIME_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_TIME_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+const ( /* idtype.h:41:1: */
+ P_MYID = -1 // Me/my process group
+ P_ALL = 0 // All processes.
+ P_PID = 1 // A process identifier.
+ P_LWPID = 2 // An LWP identifier.
+ P_PPID = 3 // A parent process identifier.
+ P_PGID = 4 // A process group identifier.
+ P_SID = 5 // A session identifier.
+ P_CID = 6 // A scheduling class identifier.
+ P_UID = 7 // A user identifier.
+ P_GID = 8 // A group identifier.
+ P_TASKID = 9 // A task identifier.
+ P_PROJID = 10 // A project identifier.
+ P_POOLID = 11 // A pool identifier.
+ P_ZONEID = 12 // A zone identifier.
+ P_CTID = 13 // A (process) contract identifier.
+ P_CPUID = 14 // CPU identifier.
+ P_PSETID = 15 // Processor set identifier.
+ X_P_MAXIDTYPE = 2147483647
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.3 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
+// Public domain.
+
+type Clock_t = uint32 /* time.h:49:23 */
+
+type Time_t = X__int64_t /* time.h:54:22 */
+
+type Clockid_t = int32 /* time.h:64:25 */
+
+type Timer_t = int32 /* time.h:69:23 */
+
+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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
+} /* time.h:75:1 */
+
+// ISO/IEC 9899:201x 7.27.1/3 Components of time
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Timespec = struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+} /* timespec.h:47:1 */
+
+// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// Structure returned by gettimeofday(2) system call,
+// and used in other calls.
+type Timeval = struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+} /* time.h:44:1 */
+
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// Note: timezone is obsolete. All timezone handling is now in
+// userland. Its just here for back compatibility.
+type Timezone = struct {
+ Ftz_minuteswest int32
+ Ftz_dsttime int32
+} /* time.h:65:1 */
+
+// Operations on timevals.
+
+// hide bintime for _STANDALONE because this header is used for hpcboot.exe,
+// which is built with compilers which don't recognize LL suffix.
+// http://mail-index.NetBSD.org/tech-userlevel/2008/02/27/msg000181.html
+type Bintime = struct {
+ Fsec Time_t
+ Ffrac Uint64_t
+} /* time.h:102:1 */
+
+// Operations on timespecs.
+
+// Names of the interval timers, and structure
+// defining a timer setting.
+// NB: Must match the CLOCK_ constants below.
+
+type Itimerval = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+} /* time.h:280:1 */
+
+// Structure defined by POSIX.1b to be like a itimerval, but with
+// timespecs. Used in the timer_*() system calls.
+type Itimerspec = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+} /* time.h:289:1 */
+
+// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)select.h 8.2 (Berkeley) 1/4/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+type Idtype_t = int32 /* idtype.h:60:3 */
+
+type Locale_t = uintptr /* time.h:188:25 */
+
+type Timezone_t = uintptr /* time.h:198:24 */
+
+// $NetBSD: sched.h,v 1.12 2009/01/11 03:04:12 christos Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: sched.h,v 1.76 2016/07/03 14:24:59 christos Exp $
+
+// -
+// Copyright (c) 1999, 2000, 2001, 2002, 2007, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Ross Harvey, Jason R. Thorpe, Nathan J. Williams, Andrew Doran and
+// Daniel Sieger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)kern_clock.c 8.5 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type Sched_param = struct{ Fsched_priority int32 } /* sched.h:80:1 */
+
+type Pthread_cleanup_store = struct{ Fpad [4]uintptr } /* pthread.h:170:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pthread/pthread_windows_386.go b/vendor/modernc.org/libc/pthread/pthread_windows_386.go
index e24f70608..c18aec3f2 100644
--- a/vendor/modernc.org/libc/pthread/pthread_windows_386.go
+++ b/vendor/modernc.org/libc/pthread/pthread_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_windows_386.go -pkgname pthread', DO NOT EDIT.
+// 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_386.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -114,6 +114,10 @@ const (
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
@@ -125,9 +129,7 @@ const (
MAX_READ_LOCKS = 2147483646
MB_LEN_MAX = 5
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
NSIG = 23
@@ -234,6 +236,7 @@ const (
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
@@ -251,6 +254,8 @@ const (
X_I64_MIN = -9223372036854775808
X_I8_MAX = 127
X_I8_MIN = -128
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CORECRT_STARTUP = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
@@ -286,7 +291,6 @@ const (
X_POSIX_THREADS = 200112
X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 256
X_POSIX_THREAD_KEYS_MAX = 1048576
- X_POSIX_THREAD_SAFE_FUNCTIONS = 200112
X_POSIX_TIMEOUTS = 200112
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
@@ -422,6 +426,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -442,6 +451,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -482,26 +497,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -527,29 +544,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
// ISO C Standard: 7.17 Common definitions <stddef.h>
@@ -615,7 +632,7 @@ type Max_align_t = struct {
F__max_align_ld float64
} /* stddef.h:427:3 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -721,9 +738,18 @@ type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
-type X_tls_callback_type = uintptr /* process.h:58:16 */
+// 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.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+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:61:16 */
+
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -775,7 +801,7 @@ type X_tls_callback_type = uintptr /* process.h:58:16 */
// are semantically identical, with a limit of 259 characters for the
// path name, plus one for a terminating NUL, for a total of 260.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -880,27 +906,27 @@ type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X__timeb32 = struct {
- Ftime X__time32_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- _ [2]byte
+ 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
- _ [2]byte
+ 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
- _ [2]byte
+ Ftime X__time64_t
+ Fmillitm uint16
+ Ftimezone int16
+ Fdstflag int16
+ F__ccgo_pad1 [2]byte
} /* timeb.h:69:3 */
// maximum number of times a read lock may be obtained
@@ -952,11 +978,11 @@ type Pthread_attr_t1 = struct {
type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:251:31 */
// synchronization objects
-type Pthread_spinlock_t = uintptr /* pthread.h:268:14 */
-type Pthread_mutex_t = uintptr /* pthread.h:269:14 */
-type Pthread_cond_t = uintptr /* pthread.h:270:14 */
-type Pthread_rwlock_t = uintptr /* pthread.h:271:14 */
-type Pthread_barrier_t = uintptr /* pthread.h:272:14 */
+type Pthread_spinlock_t = Intptr_t /* pthread.h:268:18 */
+type Pthread_mutex_t = Intptr_t /* pthread.h:269:18 */
+type Pthread_cond_t = Intptr_t /* pthread.h:270:18 */
+type Pthread_rwlock_t = Intptr_t /* pthread.h:271:18 */
+type Pthread_barrier_t = uintptr /* pthread.h:272:14 */
type Clockid_t = int32 /* pthread.h:389:13 */
@@ -1077,23 +1103,6 @@ type Clockid_t = int32 /* pthread.h:389:13 */
//
// are present.
-// _SC_THREAD_SAFE_FUNCTIONS
-// Affected functions are
-//
-// readdir_r(),
-// getgrgid_r(),
-// getgrnam_r(),
-// getpwnam_r(),
-// getpwuid_r(),
-// flockfile(),
-// ftrylockfile(),
-// funlockfile(),
-// getc_unlocked(),
-// getchar_unlocked(),
-// putc_unlocked(),
-// putchar_unlocked(),
-// strerror_r(),
-
// _SC_TIMEOUTS
// The functions
//
diff --git a/vendor/modernc.org/libc/pthread/pthread_windows_amd64.go b/vendor/modernc.org/libc/pthread/pthread_windows_amd64.go
index 7e8612cb3..31f34badd 100644
--- a/vendor/modernc.org/libc/pthread/pthread_windows_amd64.go
+++ b/vendor/modernc.org/libc/pthread/pthread_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pthread/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_windows_amd64.go -pkgname pthread', DO NOT EDIT.
+// 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_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
@@ -297,6 +297,7 @@ const (
X_P_NOWAITO = 3
X_P_OVERLAY = 2
X_P_WAIT = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_ERRCODE_VALUES_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
@@ -625,7 +626,7 @@ type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
type Max_align_t = struct {
F__max_align_ll int64
F__max_align_ld float64
-} /* stddef.h:427:3 */
+} /* stddef.h:426:3 */
// Copyright (C) 1989-2018 Free Software Foundation, Inc.
//
@@ -702,21 +703,21 @@ 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
- _ [4]byte
+ 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
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
Fit_value struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
} /* types.h:94:1 */
@@ -736,8 +737,6 @@ type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
-type X_tls_callback_type = uintptr /* process.h:58:16 */
-
// Copyright (C) 1992-2018 Free Software Foundation, Inc.
//
// This file is part of GCC.
@@ -895,27 +894,27 @@ type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X__timeb32 = struct {
- Ftime X__time32_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- _ [2]byte
+ 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
- _ [2]byte
+ 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
- _ [2]byte
+ Ftime X__time64_t
+ Fmillitm uint16
+ Ftimezone int16
+ Fdstflag int16
+ F__ccgo_pad1 [2]byte
} /* timeb.h:69:3 */
// maximum number of times a read lock may be obtained
@@ -958,12 +957,12 @@ type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:198:33 */
type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:239:1 */
type Pthread_attr_t1 = struct {
- Fp_state uint32
- _ [4]byte
- Fstack uintptr
- Fs_size Size_t
- Fparam struct{ Fsched_priority int32 }
- _ [4]byte
+ 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:251:9 */
type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:251:31 */
diff --git a/vendor/modernc.org/libc/pthread_all.go b/vendor/modernc.org/libc/pthread_all.go
new file mode 100644
index 000000000..698572fe7
--- /dev/null
+++ b/vendor/modernc.org/libc/pthread_all.go
@@ -0,0 +1,44 @@
+// Copyright 2021 The Libc Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build !freebsd
+// +build !freebsd
+
+package libc // import "modernc.org/libc"
+
+import (
+ "unsafe"
+
+ "modernc.org/libc/pthread"
+)
+
+// int pthread_attr_init(pthread_attr_t *attr);
+func Xpthread_attr_init(t *TLS, pAttr uintptr) int32 {
+ *(*pthread.Pthread_attr_t)(unsafe.Pointer(pAttr)) = pthread.Pthread_attr_t{}
+ return 0
+}
+
+// The pthread_mutex_init() function shall initialize the mutex referenced by
+// mutex with attributes specified by attr. If attr is NULL, the default mutex
+// attributes are used; the effect shall be the same as passing the address of
+// a default mutex attributes object. Upon successful initialization, the state
+// of the mutex becomes initialized and unlocked.
+//
+// If successful, the pthread_mutex_destroy() and pthread_mutex_init()
+// functions shall return zero; otherwise, an error number shall be returned to
+// indicate the error.
+//
+// int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
+func Xpthread_mutex_init(t *TLS, pMutex, pAttr uintptr) int32 {
+ typ := pthread.PTHREAD_MUTEX_DEFAULT
+ if pAttr != 0 {
+ typ = int(X__ccgo_pthreadMutexattrGettype(t, pAttr))
+ }
+ mutexesMu.Lock()
+
+ defer mutexesMu.Unlock()
+
+ mutexes[pMutex] = newMutex(typ)
+ return 0
+}
diff --git a/vendor/modernc.org/libc/pwd/capi_darwin_amd64.go b/vendor/modernc.org/libc/pwd/capi_darwin_amd64.go
index 4b1cf369f..16e7deedd 100644
--- a/vendor/modernc.org/libc/pwd/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/pwd/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_darwin_amd64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_darwin_amd64.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_darwin_arm64.go b/vendor/modernc.org/libc/pwd/capi_darwin_arm64.go
index 4c40afa59..0231bc167 100644
--- a/vendor/modernc.org/libc/pwd/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/pwd/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_darwin_arm64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_darwin_arm64.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_linux_386.go b/vendor/modernc.org/libc/pwd/capi_linux_386.go
index 16765be34..89453ca13 100644
--- a/vendor/modernc.org/libc/pwd/capi_linux_386.go
+++ b/vendor/modernc.org/libc/pwd/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_386.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_386.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_linux_amd64.go b/vendor/modernc.org/libc/pwd/capi_linux_amd64.go
index 57e766adb..cbc2f1155 100644
--- a/vendor/modernc.org/libc/pwd/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/pwd/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_amd64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_amd64.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_linux_arm.go b/vendor/modernc.org/libc/pwd/capi_linux_arm.go
index 673cf7801..32cc57bc9 100644
--- a/vendor/modernc.org/libc/pwd/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/pwd/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_arm.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_arm.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_linux_arm64.go b/vendor/modernc.org/libc/pwd/capi_linux_arm64.go
index 6fbe87fa1..8fb5d138f 100644
--- a/vendor/modernc.org/libc/pwd/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/pwd/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_arm64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_arm64.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_linux_s390x.go b/vendor/modernc.org/libc/pwd/capi_linux_s390x.go
index 203365bc1..bc28bad81 100644
--- a/vendor/modernc.org/libc/pwd/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/pwd/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_s390x.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_s390x.go -pkgname pwd', DO NOT EDIT.
package pwd
diff --git a/vendor/modernc.org/libc/pwd/capi_netbsd_amd64.go b/vendor/modernc.org/libc/pwd/capi_netbsd_amd64.go
new file mode 100644
index 000000000..3ab523bd3
--- /dev/null
+++ b/vendor/modernc.org/libc/pwd/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo pwd/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 pwd/pwd_netbsd_amd64.go -pkgname pwd', DO NOT EDIT.
+
+package pwd
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/pwd/pwd_darwin_amd64.go b/vendor/modernc.org/libc/pwd/pwd_darwin_amd64.go
index 6c846d472..a7b467d9b 100644
--- a/vendor/modernc.org/libc/pwd/pwd_darwin_amd64.go
+++ b/vendor/modernc.org/libc/pwd/pwd_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_darwin_amd64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_darwin_amd64.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -607,8 +607,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -1069,6 +1069,4 @@ type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
type Uuid_string_t = X__darwin_uuid_string_t /* uuid.h:43:33 */
-var sUUID_NULL = Uuid_t{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* uuid.h:49:1 */
-
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pwd/pwd_darwin_arm64.go b/vendor/modernc.org/libc/pwd/pwd_darwin_arm64.go
index 3aa66d155..6e45f629f 100644
--- a/vendor/modernc.org/libc/pwd/pwd_darwin_arm64.go
+++ b/vendor/modernc.org/libc/pwd/pwd_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_darwin_arm64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_darwin_arm64.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -1051,6 +1051,4 @@ type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
type Uuid_string_t = X__darwin_uuid_string_t /* uuid.h:43:33 */
-var sUUID_NULL = Uuid_t{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* uuid.h:49:1 */
-
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pwd/pwd_freebsd_amd64.go b/vendor/modernc.org/libc/pwd/pwd_freebsd_amd64.go
index 2fee7aa6e..357847e8c 100644
--- a/vendor/modernc.org/libc/pwd/pwd_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/pwd/pwd_freebsd_amd64.go
@@ -619,8 +619,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -659,18 +659,18 @@ type Uid_t = X__uid_t /* pwd.h:57:18 */
// as well.
type Passwd = struct {
- Fpw_name uintptr
- Fpw_passwd uintptr
- Fpw_uid Uid_t
- Fpw_gid Gid_t
- Fpw_change Time_t
- Fpw_class uintptr
- Fpw_gecos uintptr
- Fpw_dir uintptr
- Fpw_shell uintptr
- Fpw_expire Time_t
- Fpw_fields int32
- _ [4]byte
+ Fpw_name uintptr
+ Fpw_passwd uintptr
+ Fpw_uid Uid_t
+ Fpw_gid Gid_t
+ Fpw_change Time_t
+ Fpw_class uintptr
+ Fpw_gecos uintptr
+ Fpw_dir uintptr
+ Fpw_shell uintptr
+ Fpw_expire Time_t
+ Fpw_fields int32
+ F__ccgo_pad1 [4]byte
} /* pwd.h:114:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pwd/pwd_linux_386.go b/vendor/modernc.org/libc/pwd/pwd_linux_386.go
index f942456ae..e77eb4047 100644
--- a/vendor/modernc.org/libc/pwd/pwd_linux_386.go
+++ b/vendor/modernc.org/libc/pwd/pwd_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_386.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_386.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_PASSWD = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -25,6 +26,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_PWD_H = 1
@@ -53,7 +55,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -68,11 +70,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.2 User Database Access <pwd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -87,7 +89,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -95,6 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -215,6 +218,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -237,9 +242,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -254,7 +272,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -267,7 +285,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -282,7 +300,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -397,7 +415,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -418,10 +436,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -436,7 +458,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -474,7 +496,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -489,11 +511,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -508,43 +530,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -556,7 +598,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -578,7 +620,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -593,7 +635,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -602,76 +644,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -681,11 +750,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
diff --git a/vendor/modernc.org/libc/pwd/pwd_linux_amd64.go b/vendor/modernc.org/libc/pwd/pwd_linux_amd64.go
index 57e5e6930..2f553a21b 100644
--- a/vendor/modernc.org/libc/pwd/pwd_linux_amd64.go
+++ b/vendor/modernc.org/libc/pwd/pwd_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_amd64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_amd64.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_PASSWD = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -62,7 +63,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -77,11 +78,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.2 User Database Access <pwd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -96,7 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -104,6 +105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -224,6 +226,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -246,9 +250,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -291,7 +308,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -406,7 +423,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -427,11 +444,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +467,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -484,7 +505,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -499,11 +520,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -518,45 +539,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -568,7 +608,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -589,7 +629,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -604,7 +644,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -619,78 +659,102 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -700,11 +764,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
diff --git a/vendor/modernc.org/libc/pwd/pwd_linux_arm.go b/vendor/modernc.org/libc/pwd/pwd_linux_arm.go
index 5cb494157..4e675af98 100644
--- a/vendor/modernc.org/libc/pwd/pwd_linux_arm.go
+++ b/vendor/modernc.org/libc/pwd/pwd_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_arm.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_arm.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_PASSWD = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -52,7 +53,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -67,11 +68,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.2 User Database Access <pwd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -86,7 +87,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -94,6 +95,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -214,6 +216,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -236,9 +240,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -253,7 +270,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -266,7 +283,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -281,7 +298,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -396,7 +413,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -417,7 +434,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -432,10 +453,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -450,7 +471,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -504,7 +525,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -519,11 +540,28 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -538,9 +576,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -555,41 +594,60 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -601,7 +659,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -623,7 +681,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -638,83 +696,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -724,11 +809,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -748,4 +828,4 @@ type Passwd = struct {
Fpw_shell uintptr
} /* pwd.h:49:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pwd/pwd_linux_arm64.go b/vendor/modernc.org/libc/pwd/pwd_linux_arm64.go
index 49d976d11..d194350cd 100644
--- a/vendor/modernc.org/libc/pwd/pwd_linux_arm64.go
+++ b/vendor/modernc.org/libc/pwd/pwd_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_arm64.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_arm64.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_PASSWD = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -62,7 +63,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -77,11 +78,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.2 User Database Access <pwd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -96,7 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -104,6 +105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -224,6 +226,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -246,9 +250,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -291,7 +308,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -406,7 +423,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -427,9 +444,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -444,10 +465,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -462,7 +483,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -496,7 +517,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -511,7 +532,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -519,7 +540,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -534,11 +555,48 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -553,11 +611,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -572,41 +630,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -618,7 +678,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -639,7 +699,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -655,7 +715,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -668,78 +728,101 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -749,11 +832,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -773,4 +851,4 @@ type Passwd = struct {
Fpw_shell uintptr
} /* pwd.h:49:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pwd/pwd_linux_s390x.go b/vendor/modernc.org/libc/pwd/pwd_linux_s390x.go
index 67f2b8953..baefeeabc 100644
--- a/vendor/modernc.org/libc/pwd/pwd_linux_s390x.go
+++ b/vendor/modernc.org/libc/pwd/pwd_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_linux_s390x.go -pkgname pwd', DO NOT EDIT.
+// Code generated by 'ccgo pwd/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 pwd/pwd_linux_s390x.go -pkgname pwd', DO NOT EDIT.
package pwd
@@ -17,6 +17,7 @@ var _ unsafe.Pointer
const (
NSS_BUFLEN_PASSWD = 1024
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -62,7 +63,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -77,11 +78,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.2 User Database Access <pwd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -96,7 +97,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -104,6 +105,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -224,6 +226,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -246,9 +250,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -276,7 +293,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -291,7 +308,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -406,7 +423,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -427,10 +444,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -445,7 +466,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -482,7 +503,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -497,11 +518,31 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -516,43 +557,45 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -564,7 +607,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -585,7 +628,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -600,7 +643,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -615,78 +658,102 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -696,11 +763,6 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -720,4 +782,4 @@ type Passwd = struct {
Fpw_shell uintptr
} /* pwd.h:49:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/pwd/pwd_netbsd_amd64.go b/vendor/modernc.org/libc/pwd/pwd_netbsd_amd64.go
new file mode 100644
index 000000000..c84692f49
--- /dev/null
+++ b/vendor/modernc.org/libc/pwd/pwd_netbsd_amd64.go
@@ -0,0 +1,1622 @@
+// Code generated by 'ccgo pwd/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 pwd/pwd_netbsd_amd64.go -pkgname pwd', DO NOT EDIT.
+
+package pwd
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ FD_SETSIZE = 256
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PASSWORD_CHGNOW = -1
+ X_PASSWORD_EFMT1 = 95
+ X_PASSWORD_LEN = 128
+ X_PASSWORD_NOCHG = 0x04
+ X_PASSWORD_NOEXP = 0x08
+ X_PASSWORD_NOGID = 0x02
+ X_PASSWORD_NONDES = 36
+ X_PASSWORD_NOUID = 0x01
+ X_PASSWORD_NOWARN = 0x20
+ X_PASSWORD_OLDFMT = 0x10
+ X_PASSWORD_WARNDAYS = 14
+ X_PATH_MASTERPASSWD = "/etc/master.passwd"
+ X_PATH_MASTERPASSWD_LOCK = "/etc/ptmp"
+ X_PATH_MP_DB = "/etc/pwd.db"
+ X_PATH_PASSWD = "/etc/passwd"
+ X_PATH_PASSWD_CONF = "/etc/passwd.conf"
+ X_PATH_PWD_MKDB = "/usr/sbin/pwd_mkdb"
+ X_PATH_SMP_DB = "/etc/spwd.db"
+ X_PATH_USERMGMT_CONF = "/etc/usermgmt.conf"
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_PWD_H_ = 0
+ X_PW_KEYBYNAME = 49
+ X_PW_KEYBYNUM = 50
+ X_PW_KEYBYUID = 51
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+type Passwd = struct {
+ Fpw_name uintptr
+ Fpw_passwd uintptr
+ Fpw_uid X__uid_t
+ Fpw_gid X__gid_t
+ Fpw_change Time_t
+ Fpw_class uintptr
+ Fpw_gecos uintptr
+ Fpw_dir uintptr
+ Fpw_shell uintptr
+ Fpw_expire Time_t
+} /* pwd.h:107:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/capi_darwin_amd64.go b/vendor/modernc.org/libc/signal/capi_darwin_amd64.go
index 9ec7f8516..d9c9a11ac 100644
--- a/vendor/modernc.org/libc/signal/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/signal/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_darwin_amd64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_darwin_amd64.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_darwin_arm64.go b/vendor/modernc.org/libc/signal/capi_darwin_arm64.go
index 749c7f420..57a492131 100644
--- a/vendor/modernc.org/libc/signal/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/signal/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_darwin_arm64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_darwin_arm64.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_linux_386.go b/vendor/modernc.org/libc/signal/capi_linux_386.go
index 89a52d53f..92c263a30 100644
--- a/vendor/modernc.org/libc/signal/capi_linux_386.go
+++ b/vendor/modernc.org/libc/signal/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_386.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_386.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_linux_amd64.go b/vendor/modernc.org/libc/signal/capi_linux_amd64.go
index 46145ced8..990d5bf92 100644
--- a/vendor/modernc.org/libc/signal/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/signal/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_amd64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_amd64.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_linux_arm.go b/vendor/modernc.org/libc/signal/capi_linux_arm.go
index 9e5ce3b7b..03de54081 100644
--- a/vendor/modernc.org/libc/signal/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/signal/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_arm.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_arm.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_linux_arm64.go b/vendor/modernc.org/libc/signal/capi_linux_arm64.go
index 0c88dc7ee..a55b1d494 100644
--- a/vendor/modernc.org/libc/signal/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/signal/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_arm64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_arm64.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_linux_s390x.go b/vendor/modernc.org/libc/signal/capi_linux_s390x.go
index e63dcad1d..f7a596ff9 100644
--- a/vendor/modernc.org/libc/signal/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/signal/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_s390x.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_s390x.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_netbsd_amd64.go b/vendor/modernc.org/libc/signal/capi_netbsd_amd64.go
new file mode 100644
index 000000000..d69eae6c7
--- /dev/null
+++ b/vendor/modernc.org/libc/signal/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo signal/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 signal/signal_netbsd_amd64.go -pkgname signal', DO NOT EDIT.
+
+package signal
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/signal/capi_windows_386.go b/vendor/modernc.org/libc/signal/capi_windows_386.go
index adff01f82..2ac7e272f 100644
--- a/vendor/modernc.org/libc/signal/capi_windows_386.go
+++ b/vendor/modernc.org/libc/signal/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_windows_386.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_windows_386.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/capi_windows_amd64.go b/vendor/modernc.org/libc/signal/capi_windows_amd64.go
index 6ed5485b2..56dec23f6 100644
--- a/vendor/modernc.org/libc/signal/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/signal/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_windows_amd64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal\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 signal\signal_windows_amd64.go -pkgname signal', DO NOT EDIT.
package signal
diff --git a/vendor/modernc.org/libc/signal/more_netbsd_amd64.go b/vendor/modernc.org/libc/signal/more_netbsd_amd64.go
new file mode 100644
index 000000000..c1791b2a5
--- /dev/null
+++ b/vendor/modernc.org/libc/signal/more_netbsd_amd64.go
@@ -0,0 +1,12 @@
+// Copyright 2020 The Libc Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package signal
+
+const (
+ // sys/sys/signal.h:139:#define SIG_DFL ((__sighandler_t *)0)
+ SIG_DFL = 0
+ // sys/sys/signal.h:140:#define SIG_IGN ((__sighandler_t *)1)
+ SIG_IGN = 1
+)
diff --git a/vendor/modernc.org/libc/signal/signal_darwin_amd64.go b/vendor/modernc.org/libc/signal/signal_darwin_amd64.go
index 0b062a2d6..eae618826 100644
--- a/vendor/modernc.org/libc/signal/signal_darwin_amd64.go
+++ b/vendor/modernc.org/libc/signal/signal_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_darwin_amd64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_darwin_amd64.go -pkgname signal', DO NOT EDIT.
package signal
@@ -790,8 +790,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -2297,8 +2297,8 @@ type X__darwin_i386_thread_state = struct {
// This structure should be double-word aligned for performance
type X__darwin_fp_control = struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
} /* _structs.h:92:1 */
type X__darwin_fp_control_t = X__darwin_fp_control /* _structs.h:117:28 */
@@ -2306,8 +2306,8 @@ type X__darwin_fp_control_t = X__darwin_fp_control /* _structs.h:117:28 */
// Status word.
type X__darwin_fp_status = struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
} /* _structs.h:150:1 */
type X__darwin_fp_status_t = X__darwin_fp_status /* _structs.h:167:27 */
@@ -2338,12 +2338,12 @@ type X__darwin_opmask_reg = struct{ F__opmask_reg [8]int8 } /* _structs.h:259:1
type X__darwin_i386_float_state = struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -2403,12 +2403,12 @@ type X__darwin_i386_float_state = struct {
type X__darwin_i386_avx_state = struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -2477,12 +2477,12 @@ type X__darwin_i386_avx_state = struct {
type X__darwin_i386_avx512_state = struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -2645,12 +2645,12 @@ type X__darwin_x86_thread_full_state64 = struct {
type X__darwin_x86_float_state64 = struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -2718,12 +2718,12 @@ type X__darwin_x86_float_state64 = struct {
type X__darwin_x86_avx_state64 = struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -2808,12 +2808,12 @@ type X__darwin_x86_avx_state64 = struct {
type X__darwin_x86_avx512_state64 = struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -2983,12 +2983,12 @@ type X__darwin_mcontext32 = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3074,12 +3074,12 @@ type X__darwin_mcontext_avx32 = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3174,12 +3174,12 @@ type X__darwin_mcontext_avx512_32 = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3295,12 +3295,12 @@ type X__darwin_mcontext64 = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3364,7 +3364,7 @@ type X__darwin_mcontext64 = struct {
F__fpu_rsrv4 [96]int8
F__fpu_reserved1 int32
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* _mcontext.h:97:1 */
type X__darwin_mcontext64_full = struct {
@@ -3406,12 +3406,12 @@ type X__darwin_mcontext64_full = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3475,7 +3475,7 @@ type X__darwin_mcontext64_full = struct {
F__fpu_rsrv4 [96]int8
F__fpu_reserved1 int32
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* _mcontext.h:105:1 */
type X__darwin_mcontext_avx64 = struct {
@@ -3511,12 +3511,12 @@ type X__darwin_mcontext_avx64 = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3597,7 +3597,7 @@ type X__darwin_mcontext_avx64 = struct {
F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* _mcontext.h:113:1 */
type X__darwin_mcontext_avx64_full = struct {
@@ -3639,12 +3639,12 @@ type X__darwin_mcontext_avx64_full = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3725,7 +3725,7 @@ type X__darwin_mcontext_avx64_full = struct {
F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* _mcontext.h:121:1 */
type X__darwin_mcontext_avx512_64 = struct {
@@ -3761,12 +3761,12 @@ type X__darwin_mcontext_avx512_64 = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -3887,7 +3887,7 @@ type X__darwin_mcontext_avx512_64 = struct {
F__fpu_zmm30 struct{ F__zmm_reg [64]int8 }
F__fpu_zmm31 struct{ F__zmm_reg [64]int8 }
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* _mcontext.h:130:1 */
type X__darwin_mcontext_avx512_64_full = struct {
@@ -3929,12 +3929,12 @@ type X__darwin_mcontext_avx512_64_full = struct {
F__fs struct {
F__fpu_reserved [2]int32
F__fpu_fcw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
}
F__fpu_fsw struct {
- _ [0]uint16
- F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
}
F__fpu_ftw X__uint8_t
F__fpu_rsrv1 X__uint8_t
@@ -4055,7 +4055,7 @@ type X__darwin_mcontext_avx512_64_full = struct {
F__fpu_zmm30 struct{ F__zmm_reg [64]int8 }
F__fpu_zmm31 struct{ F__zmm_reg [64]int8 }
}
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* _mcontext.h:138:1 */
type Mcontext_t = uintptr /* _mcontext.h:204:33 */
@@ -4231,10 +4231,10 @@ type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
type X__darwin_sigaltstack = struct {
- Fss_sp uintptr
- Fss_size X__darwin_size_t
- Fss_flags int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
} /* _sigaltstack.h:42:1 */
type Stack_t = X__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack
@@ -4434,10 +4434,10 @@ type X__darwin_ucontext = struct {
Fuc_onstack int32
Fuc_sigmask X__darwin_sigset_t
Fuc_stack struct {
- Fss_sp uintptr
- Fss_size X__darwin_size_t
- Fss_flags int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
}
Fuc_link uintptr
Fuc_mcsize X__darwin_size_t
@@ -4605,18 +4605,18 @@ type Sigset_t = X__darwin_sigset_t /* _sigset_t.h:31:41 */
type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */
type Sigval = struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
} /* signal.h:158:1 */
type Sigevent = struct {
Fsigev_notify int32
Fsigev_signo int32
Fsigev_value struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
}
Fsigev_notify_function uintptr
Fsigev_notify_attributes uintptr
@@ -4631,9 +4631,9 @@ type X__siginfo = struct {
Fsi_status int32
Fsi_addr uintptr
Fsi_value struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
}
Fsi_band int64
F__pad [7]uint64
@@ -4709,9 +4709,9 @@ type Sigvec = struct {
// Structure used in sigstack call.
type Sigstack = struct {
- Fss_sp uintptr
- Fss_onstack int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
} /* signal.h:367:1 */
// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
diff --git a/vendor/modernc.org/libc/signal/signal_darwin_arm64.go b/vendor/modernc.org/libc/signal/signal_darwin_arm64.go
index 9d4f1d937..c3dc4469c 100644
--- a/vendor/modernc.org/libc/signal/signal_darwin_arm64.go
+++ b/vendor/modernc.org/libc/signal/signal_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_darwin_arm64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_darwin_arm64.go -pkgname signal', DO NOT EDIT.
package signal
@@ -1379,7 +1379,7 @@ type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -2296,6 +2296,7 @@ type X__darwin_arm_neon_state = struct {
} /* _structs.h:448:1 */
type X__darwin_arm_amx_state_v1 = struct {
+ F__ccgo_pad1 [0]uint64
F__x [8][64]X__uint8_t
F__y [8][64]X__uint8_t
F__z [64][64]X__uint8_t
@@ -2547,10 +2548,10 @@ type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
type X__darwin_sigaltstack = struct {
- Fss_sp uintptr
- Fss_size X__darwin_size_t
- Fss_flags int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
} /* _sigaltstack.h:42:1 */
type Stack_t = X__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack
@@ -2778,10 +2779,10 @@ type X__darwin_ucontext = struct {
Fuc_onstack int32
Fuc_sigmask X__darwin_sigset_t
Fuc_stack struct {
- Fss_sp uintptr
- Fss_size X__darwin_size_t
- Fss_flags int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
}
Fuc_link uintptr
Fuc_mcsize X__darwin_size_t
@@ -3053,9 +3054,9 @@ type Sigvec = struct {
// Structure used in sigstack call.
type Sigstack = struct {
- Fss_sp uintptr
- Fss_onstack int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
} /* signal.h:367:1 */
// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
diff --git a/vendor/modernc.org/libc/signal/signal_freebsd_amd64.go b/vendor/modernc.org/libc/signal/signal_freebsd_amd64.go
index 755237219..01a6a1134 100644
--- a/vendor/modernc.org/libc/signal/signal_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/signal/signal_freebsd_amd64.go
@@ -712,8 +712,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -1227,9 +1227,9 @@ type Sigcontext = struct {
} /* signal.h:114:1 */
type Pthread_once = struct {
- Fstate int32
- _ [4]byte
- Fmutex Pthread_mutex_t
+ Fstate int32
+ F__ccgo_pad1 [4]byte
+ Fmutex Pthread_mutex_t
} /* _pthreadtypes.h:52:1 */
// Primitive system data type definitions required by P1003.1c.
@@ -1333,23 +1333,23 @@ type Uid_t = X__uid_t /* signal.h:61:18 */
type Sigset_t = X__sigset_t /* signal.h:166:20 */
type Sigval = struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
} /* signal.h:171:1 */
type Sigevent = struct {
Fsigev_notify int32
Fsigev_signo int32
Fsigev_value struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
}
F_sigev_un struct {
- _ [0]uint64
- F_threadid X__lwpid_t
- _ [60]byte
+ F__ccgo_pad1 [0]uint64
+ F_threadid X__lwpid_t
+ F__ccgo_pad2 [60]byte
}
} /* signal.h:195:1 */
@@ -1362,14 +1362,14 @@ type X__siginfo = struct {
Fsi_status int32
Fsi_addr uintptr
Fsi_value struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
}
F_reason struct {
- _ [0]uint64
- F_fault struct{ F_trapno int32 }
- _ [36]byte
+ F__ccgo_pad1 [0]uint64
+ F_fault struct{ F_trapno int32 }
+ F__ccgo_pad2 [36]byte
}
} /* signal.h:229:9 */
@@ -1380,7 +1380,7 @@ type Sigaction = struct {
F__sigaction_u struct{ F__sa_handler uintptr }
Fsa_flags int32
Fsa_mask Sigset_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* signal.h:368:1 */
// If SA_SIGINFO is set, sa_sigaction must be used instead of sa_handler.
@@ -1392,10 +1392,10 @@ type Sigaction = struct {
type Sig_t = uintptr /* signal.h:420:24 */
type Sigaltstack = struct {
- Fss_sp uintptr
- Fss_size X__size_t
- Fss_flags int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_size X__size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
} /* signal.h:428:9 */
type Stack_t = Sigaltstack /* signal.h:428:26 */
@@ -1412,9 +1412,9 @@ type Sigvec = struct {
// Structure used in sigstack call.
type Sigstack = struct {
- Fss_sp uintptr
- Fss_onstack int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
} /* signal.h:479:1 */
// -
@@ -1572,14 +1572,14 @@ type X__ucontext = struct {
Fuc_mcontext Mcontext_t
Fuc_link uintptr
Fuc_stack struct {
- Fss_sp uintptr
- Fss_size X__size_t
- Fss_flags int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_size X__size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
}
- Fuc_flags int32
- F__spare__ [4]int32
- _ [4]byte
+ Fuc_flags int32
+ F__spare__ [4]int32
+ F__ccgo_pad1 [4]byte
} /* _ucontext.h:36:9 */
// -
diff --git a/vendor/modernc.org/libc/signal/signal_linux_386.go b/vendor/modernc.org/libc/signal/signal_linux_386.go
index 06e7eadc4..b595fb323 100644
--- a/vendor/modernc.org/libc/signal/signal_linux_386.go
+++ b/vendor/modernc.org/libc/signal/signal_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_386.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_386.go -pkgname signal', DO NOT EDIT.
package signal
@@ -71,6 +71,8 @@ const (
SIG_UNBLOCK = 1
X86_FXSR_MAGIC = 0x0000
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SIGACTION_H = 1
@@ -83,6 +85,7 @@ const (
X_BITS_SIGSTACK_H = 1
X_BITS_SIGTHREAD_H = 1
X_BITS_SS_FLAGS_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -91,9 +94,11 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_NSIG = 65
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIGNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
@@ -106,6 +111,7 @@ const (
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_UCONTEXT_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -117,7 +123,7 @@ const (
// POSIX names to access some of the members.
// sigevent constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -132,7 +138,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// `sigev_notify' values.
const ( /* sigevent-consts.h:27:1: */
@@ -144,15 +150,18 @@ const ( /* sigevent-consts.h:27:1: */
)
// `si_code' values for SIGSEGV signal.
-const ( /* siginfo-consts.h:110:1: */
- SEGV_MAPERR = 1 // Address not mapped to object.
- SEGV_ACCERR = 2 // Invalid permissions for mapped object.
- SEGV_BNDERR = 3 // Bounds checking failure.
- SEGV_PKUERR = 4
+const ( /* siginfo-consts.h:119:1: */
+ SEGV_MAPERR = 1 // Address not mapped to object.
+ SEGV_ACCERR = 2 // Invalid permissions for mapped object.
+ SEGV_BNDERR = 3 // Bounds checking failure.
+ SEGV_PKUERR = 4 // Protection key checking failure.
+ SEGV_ACCADI = 5 // ADI not enabled for mapped object.
+ SEGV_ADIDERR = 6 // Disrupting MCD error.
+ SEGV_ADIPERR = 7
)
// `si_code' values for SIGBUS signal.
-const ( /* siginfo-consts.h:123:1: */
+const ( /* siginfo-consts.h:138:1: */
BUS_ADRALN = 1 // Invalid address alignment.
BUS_ADRERR = 2 // Non-existant physical address.
BUS_OBJERR = 3 // Object specific hardware error.
@@ -161,7 +170,7 @@ const ( /* siginfo-consts.h:123:1: */
)
// `si_code' values for SIGCHLD signal.
-const ( /* siginfo-consts.h:151:1: */
+const ( /* siginfo-consts.h:172:1: */
CLD_EXITED = 1 // Child has exited.
CLD_KILLED = 2 // Child was killed.
CLD_DUMPED = 3 // Child terminated abnormally.
@@ -171,7 +180,7 @@ const ( /* siginfo-consts.h:151:1: */
)
// `si_code' values for SIGPOLL signal.
-const ( /* siginfo-consts.h:168:1: */
+const ( /* siginfo-consts.h:189:1: */
POLL_IN = 1 // Data input available.
POLL_OUT = 2 // Output buffers available.
POLL_MSG = 3 // Input message available.
@@ -183,7 +192,7 @@ const ( /* siginfo-consts.h:168:1: */
// X/Open requires some more fields with fixed names.
// siginfo constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -198,7 +207,7 @@ const ( /* siginfo-consts.h:168:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Most of these constants are uniform across all architectures, but there
// is one exception.
@@ -207,43 +216,48 @@ const ( /* siginfo-consts.h:168:1: */
// Values for `si_code'. Positive values are reserved for kernel-generated
// signals.
const ( /* siginfo-consts.h:35:1: */
- SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
- SI_TKILL = -6 // Sent by tkill.
- SI_SIGIO = -5 // Sent by queued SIGIO.
- SI_ASYNCIO = -4 // Sent by AIO completion.
- SI_MESGQ = -3 // Sent by real time mesq state change.
- SI_TIMER = -2 // Sent by timer expiration.
- SI_QUEUE = -1 // Sent by sigqueue.
- SI_USER = 0 // Sent by kill, sigsend.
+ SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
+ SI_DETHREAD = -7 // Sent by execve killing subsidiary
+ // threads.
+ SI_TKILL = -6 // Sent by tkill.
+ SI_SIGIO = -5 // Sent by queued SIGIO.
+ SI_ASYNCIO = -4 // Sent by AIO completion.
+ SI_MESGQ = -3 // Sent by real time mesq state change.
+ SI_TIMER = -2 // Sent by timer expiration.
+ SI_QUEUE = -1 // Sent by sigqueue.
+ SI_USER = 0 // Sent by kill, sigsend.
SI_KERNEL = 128
)
// `si_code' values for SIGILL signal.
-const ( /* siginfo-consts.h:68:1: */
- ILL_ILLOPC = 1 // Illegal opcode.
- ILL_ILLOPN = 2 // Illegal operand.
- ILL_ILLADR = 3 // Illegal addressing mode.
- ILL_ILLTRP = 4 // Illegal trap.
- ILL_PRVOPC = 5 // Privileged opcode.
- ILL_PRVREG = 6 // Privileged register.
- ILL_COPROC = 7 // Coprocessor error.
- ILL_BADSTK = 8
+const ( /* siginfo-consts.h:71:1: */
+ ILL_ILLOPC = 1 // Illegal opcode.
+ ILL_ILLOPN = 2 // Illegal operand.
+ ILL_ILLADR = 3 // Illegal addressing mode.
+ ILL_ILLTRP = 4 // Illegal trap.
+ ILL_PRVOPC = 5 // Privileged opcode.
+ ILL_PRVREG = 6 // Privileged register.
+ ILL_COPROC = 7 // Coprocessor error.
+ ILL_BADSTK = 8 // Internal stack error.
+ ILL_BADIADDR = 9
)
// `si_code' values for SIGFPE signal.
-const ( /* siginfo-consts.h:89:1: */
- FPE_INTDIV = 1 // Integer divide by zero.
- FPE_INTOVF = 2 // Integer overflow.
- FPE_FLTDIV = 3 // Floating point divide by zero.
- FPE_FLTOVF = 4 // Floating point overflow.
- FPE_FLTUND = 5 // Floating point underflow.
- FPE_FLTRES = 6 // Floating point inexact result.
- FPE_FLTINV = 7 // Floating point invalid operation.
- FPE_FLTSUB = 8
+const ( /* siginfo-consts.h:94:1: */
+ FPE_INTDIV = 1 // Integer divide by zero.
+ FPE_INTOVF = 2 // Integer overflow.
+ FPE_FLTDIV = 3 // Floating point divide by zero.
+ FPE_FLTOVF = 4 // Floating point overflow.
+ FPE_FLTUND = 5 // Floating point underflow.
+ FPE_FLTRES = 6 // Floating point inexact result.
+ FPE_FLTINV = 7 // Floating point invalid operation.
+ FPE_FLTSUB = 8 // Subscript out of range.
+ FPE_FLTUNK = 14 // Undiagnosed floating-point exception.
+ FPE_CONDTRAP = 15
)
// sigstack, sigaltstack definitions.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -258,14 +272,14 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Minimum stack size for a signal handler.
// System default stack size.
// ss_flags values for stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -280,7 +294,7 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Possible values for `ss_flags'.
const ( /* ss_flags.h:27:1: */
@@ -297,7 +311,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -312,11 +326,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.14 Signal handling <signal.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -331,7 +345,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -339,6 +353,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -459,6 +474,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -481,9 +498,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -498,7 +528,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -511,7 +541,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -526,7 +556,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -641,7 +671,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -662,10 +692,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -680,7 +714,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -718,7 +752,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -733,11 +767,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -752,43 +786,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -800,7 +854,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -822,7 +876,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -837,7 +891,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -846,79 +900,106 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Signal number definitions. Linux version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -933,10 +1014,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Signal number constants. Generic template.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -951,7 +1032,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Fake signal functions.
@@ -990,7 +1071,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// most Linux systems.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1005,7 +1086,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1025,7 +1106,7 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1040,21 +1121,54 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// Determine the wordsize from the preprocessor defines.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1069,12 +1183,12 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1089,7 +1203,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for data associated with a signal.
type Sigval = struct{ Fsival_int int32 } /* __sigval_t.h:24:1 */
@@ -1110,7 +1224,7 @@ type Siginfo_t = struct {
// These are all considered GNU extensions.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1125,7 +1239,7 @@ type Siginfo_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// To avoid sigval_t (not a standard type name) having C++ name
// mangling depending on whether the selected standard includes union
@@ -1139,7 +1253,7 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
// Determine the wordsize from the preprocessor defines.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1154,12 +1268,12 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1174,18 +1288,18 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* sigevent_t.h:17:9 */
// Determine the wordsize from the preprocessor defines.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1200,12 +1314,12 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1220,7 +1334,7 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t = Pthread_attr_t1 /* sigevent_t.h:17:30 */
@@ -1245,7 +1359,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
// Get the system-specific definitions of `struct sigaction'
// and the `SA_*' and `SIG_*'. constants.
// The proper definitions for Linux's sigaction.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1260,7 +1374,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing the action to be taken when a signal arrives.
type Sigaction = struct {
@@ -1271,7 +1385,7 @@ type Sigaction = struct {
} /* sigaction.h:27:1 */
// Get machine-dependent `struct sigcontext' and signal subcodes.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1286,10 +1400,10 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1304,7 +1418,7 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1441,15 +1555,10 @@ type X_xstate = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1464,9 +1573,9 @@ type X_xstate = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1498,15 +1607,6 @@ type X_xstate = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1541,11 +1641,6 @@ type X_xstate = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure describing a signal stack.
@@ -1556,7 +1651,7 @@ type Stack_t = struct {
} /* stack_t.h:31:5 */
// This will define `ucontext_t' and `mcontext_t'.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1571,9 +1666,9 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1588,10 +1683,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1606,12 +1701,12 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1626,7 +1721,7 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for general register.
type Greg_t = int32 /* ucontext.h:156:13 */
@@ -1696,7 +1791,7 @@ type Ucontext_t1 = struct {
type Ucontext_t = Ucontext_t1 /* ucontext.h:256:5 */
// Define struct sigstack.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1711,7 +1806,7 @@ type Ucontext_t = Ucontext_t1 /* ucontext.h:256:5 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing a signal stack (obsolete).
type Sigstack = struct {
@@ -1722,7 +1817,7 @@ type Sigstack = struct {
// Some of the functions for handling signals in threaded programs must
// be defined here.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1737,11 +1832,11 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1756,7 +1851,7 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1771,36 +1866,6 @@ type Sigstack = struct {
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1809,11 +1874,39 @@ type Sigstack = struct {
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Some of the functions for handling signals in threaded programs must
+// be defined here.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1828,39 +1921,109 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1869,13 +2032,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1887,7 +2094,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1896,15 +2103,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1922,8 +2129,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1932,13 +2139,32 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
+// System-specific extensions.
+// System-specific extensions of <signal.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/signal_linux_amd64.go b/vendor/modernc.org/libc/signal/signal_linux_amd64.go
index f52f5b08c..0212ae926 100644
--- a/vendor/modernc.org/libc/signal/signal_linux_amd64.go
+++ b/vendor/modernc.org/libc/signal/signal_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_amd64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_amd64.go -pkgname signal', DO NOT EDIT.
package signal
@@ -70,6 +70,8 @@ const (
SIG_SETMASK = 2
SIG_UNBLOCK = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SIGACTION_H = 1
@@ -82,6 +84,7 @@ const (
X_BITS_SIGSTACK_H = 1
X_BITS_SIGTHREAD_H = 1
X_BITS_SS_FLAGS_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -94,6 +97,7 @@ const (
X_NSIG = 65
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIGNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
@@ -106,6 +110,7 @@ const (
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_UCONTEXT_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -116,7 +121,7 @@ const (
// POSIX names to access some of the members.
// sigevent constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -131,7 +136,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// `sigev_notify' values.
const ( /* sigevent-consts.h:27:1: */
@@ -143,15 +148,18 @@ const ( /* sigevent-consts.h:27:1: */
)
// `si_code' values for SIGSEGV signal.
-const ( /* siginfo-consts.h:110:1: */
- SEGV_MAPERR = 1 // Address not mapped to object.
- SEGV_ACCERR = 2 // Invalid permissions for mapped object.
- SEGV_BNDERR = 3 // Bounds checking failure.
- SEGV_PKUERR = 4
+const ( /* siginfo-consts.h:119:1: */
+ SEGV_MAPERR = 1 // Address not mapped to object.
+ SEGV_ACCERR = 2 // Invalid permissions for mapped object.
+ SEGV_BNDERR = 3 // Bounds checking failure.
+ SEGV_PKUERR = 4 // Protection key checking failure.
+ SEGV_ACCADI = 5 // ADI not enabled for mapped object.
+ SEGV_ADIDERR = 6 // Disrupting MCD error.
+ SEGV_ADIPERR = 7
)
// `si_code' values for SIGBUS signal.
-const ( /* siginfo-consts.h:123:1: */
+const ( /* siginfo-consts.h:138:1: */
BUS_ADRALN = 1 // Invalid address alignment.
BUS_ADRERR = 2 // Non-existant physical address.
BUS_OBJERR = 3 // Object specific hardware error.
@@ -160,7 +168,7 @@ const ( /* siginfo-consts.h:123:1: */
)
// `si_code' values for SIGCHLD signal.
-const ( /* siginfo-consts.h:151:1: */
+const ( /* siginfo-consts.h:172:1: */
CLD_EXITED = 1 // Child has exited.
CLD_KILLED = 2 // Child was killed.
CLD_DUMPED = 3 // Child terminated abnormally.
@@ -170,7 +178,7 @@ const ( /* siginfo-consts.h:151:1: */
)
// `si_code' values for SIGPOLL signal.
-const ( /* siginfo-consts.h:168:1: */
+const ( /* siginfo-consts.h:189:1: */
POLL_IN = 1 // Data input available.
POLL_OUT = 2 // Output buffers available.
POLL_MSG = 3 // Input message available.
@@ -182,7 +190,7 @@ const ( /* siginfo-consts.h:168:1: */
// X/Open requires some more fields with fixed names.
// siginfo constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -197,7 +205,7 @@ const ( /* siginfo-consts.h:168:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Most of these constants are uniform across all architectures, but there
// is one exception.
@@ -206,43 +214,48 @@ const ( /* siginfo-consts.h:168:1: */
// Values for `si_code'. Positive values are reserved for kernel-generated
// signals.
const ( /* siginfo-consts.h:35:1: */
- SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
- SI_TKILL = -6 // Sent by tkill.
- SI_SIGIO = -5 // Sent by queued SIGIO.
- SI_ASYNCIO = -4 // Sent by AIO completion.
- SI_MESGQ = -3 // Sent by real time mesq state change.
- SI_TIMER = -2 // Sent by timer expiration.
- SI_QUEUE = -1 // Sent by sigqueue.
- SI_USER = 0 // Sent by kill, sigsend.
+ SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
+ SI_DETHREAD = -7 // Sent by execve killing subsidiary
+ // threads.
+ SI_TKILL = -6 // Sent by tkill.
+ SI_SIGIO = -5 // Sent by queued SIGIO.
+ SI_ASYNCIO = -4 // Sent by AIO completion.
+ SI_MESGQ = -3 // Sent by real time mesq state change.
+ SI_TIMER = -2 // Sent by timer expiration.
+ SI_QUEUE = -1 // Sent by sigqueue.
+ SI_USER = 0 // Sent by kill, sigsend.
SI_KERNEL = 128
)
// `si_code' values for SIGILL signal.
-const ( /* siginfo-consts.h:68:1: */
- ILL_ILLOPC = 1 // Illegal opcode.
- ILL_ILLOPN = 2 // Illegal operand.
- ILL_ILLADR = 3 // Illegal addressing mode.
- ILL_ILLTRP = 4 // Illegal trap.
- ILL_PRVOPC = 5 // Privileged opcode.
- ILL_PRVREG = 6 // Privileged register.
- ILL_COPROC = 7 // Coprocessor error.
- ILL_BADSTK = 8
+const ( /* siginfo-consts.h:71:1: */
+ ILL_ILLOPC = 1 // Illegal opcode.
+ ILL_ILLOPN = 2 // Illegal operand.
+ ILL_ILLADR = 3 // Illegal addressing mode.
+ ILL_ILLTRP = 4 // Illegal trap.
+ ILL_PRVOPC = 5 // Privileged opcode.
+ ILL_PRVREG = 6 // Privileged register.
+ ILL_COPROC = 7 // Coprocessor error.
+ ILL_BADSTK = 8 // Internal stack error.
+ ILL_BADIADDR = 9
)
// `si_code' values for SIGFPE signal.
-const ( /* siginfo-consts.h:89:1: */
- FPE_INTDIV = 1 // Integer divide by zero.
- FPE_INTOVF = 2 // Integer overflow.
- FPE_FLTDIV = 3 // Floating point divide by zero.
- FPE_FLTOVF = 4 // Floating point overflow.
- FPE_FLTUND = 5 // Floating point underflow.
- FPE_FLTRES = 6 // Floating point inexact result.
- FPE_FLTINV = 7 // Floating point invalid operation.
- FPE_FLTSUB = 8
+const ( /* siginfo-consts.h:94:1: */
+ FPE_INTDIV = 1 // Integer divide by zero.
+ FPE_INTOVF = 2 // Integer overflow.
+ FPE_FLTDIV = 3 // Floating point divide by zero.
+ FPE_FLTOVF = 4 // Floating point overflow.
+ FPE_FLTUND = 5 // Floating point underflow.
+ FPE_FLTRES = 6 // Floating point inexact result.
+ FPE_FLTINV = 7 // Floating point invalid operation.
+ FPE_FLTSUB = 8 // Subscript out of range.
+ FPE_FLTUNK = 14 // Undiagnosed floating-point exception.
+ FPE_CONDTRAP = 15
)
// sigstack, sigaltstack definitions.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -257,14 +270,14 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Minimum stack size for a signal handler.
// System default stack size.
// ss_flags values for stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -279,7 +292,7 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Possible values for `ss_flags'.
const ( /* ss_flags.h:27:1: */
@@ -305,7 +318,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -320,11 +333,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.14 Signal handling <signal.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -339,7 +352,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -347,6 +360,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -467,6 +481,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -489,9 +505,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -506,7 +535,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -519,7 +548,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -534,7 +563,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -649,7 +678,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -670,11 +699,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -689,7 +722,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -727,7 +760,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -742,11 +775,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -761,45 +794,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -811,7 +863,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -832,7 +884,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -847,7 +899,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -862,81 +914,109 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// Signal number definitions. Linux version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -951,10 +1031,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Signal number constants. Generic template.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -969,7 +1049,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Fake signal functions.
@@ -1008,7 +1088,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// most Linux systems.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1023,7 +1103,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1043,7 +1123,7 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1058,22 +1138,55 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1088,12 +1201,12 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1108,13 +1221,13 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for data associated with a signal.
type Sigval = struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
} /* __sigval_t.h:24:1 */
type X__sigval_t = Sigval /* __sigval_t.h:30:22 */
@@ -1128,8 +1241,8 @@ type Siginfo_t = struct {
Fsi_code int32
F__pad0 int32
F_sifields struct {
- _ [0]uint64
- F_pad [28]int32
+ F__ccgo_pad1 [0]uint64
+ F_pad [28]int32
}
} /* siginfo_t.h:124:5 */
@@ -1137,7 +1250,7 @@ type Siginfo_t = struct {
// These are all considered GNU extensions.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1152,7 +1265,7 @@ type Siginfo_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// To avoid sigval_t (not a standard type name) having C++ name
// mangling depending on whether the selected standard includes union
@@ -1167,7 +1280,7 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
// Both x86-64 and x32 use the 64-bit system call interface.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1182,12 +1295,12 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1202,19 +1315,19 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* sigevent_t.h:17:9 */
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1229,12 +1342,12 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1249,7 +1362,7 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t = Pthread_attr_t1 /* sigevent_t.h:17:30 */
@@ -1260,8 +1373,8 @@ type Sigevent = struct {
Fsigev_signo int32
Fsigev_notify int32
F_sigev_un struct {
- _ [0]uint64
- F_pad [12]int32
+ F__ccgo_pad1 [0]uint64
+ F_pad [12]int32
}
} /* sigevent_t.h:22:9 */
@@ -1277,7 +1390,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
// Get the system-specific definitions of `struct sigaction'
// and the `SA_*' and `SIG_*'. constants.
// The proper definitions for Linux's sigaction.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1292,19 +1405,19 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing the action to be taken when a signal arrives.
type Sigaction = struct {
F__sigaction_handler struct{ Fsa_handler X__sighandler_t }
Fsa_mask X__sigset_t
Fsa_flags int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsa_restorer uintptr
} /* sigaction.h:27:1 */
// Get machine-dependent `struct sigcontext' and signal subcodes.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1319,10 +1432,10 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1337,7 +1450,7 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1453,15 +1566,10 @@ type X_xstate = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1476,9 +1584,9 @@ type X_xstate = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1510,15 +1618,6 @@ type X_xstate = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1553,23 +1652,18 @@ type X_xstate = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure describing a signal stack.
type Stack_t = struct {
- Fss_sp uintptr
- Fss_flags int32
- _ [4]byte
- Fss_size Size_t
+ Fss_sp uintptr
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+ Fss_size Size_t
} /* stack_t.h:31:5 */
// This will define `ucontext_t' and `mcontext_t'.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1584,9 +1678,9 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1601,10 +1695,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1619,12 +1713,12 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1639,7 +1733,7 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for general register.
type Greg_t = int64 /* ucontext.h:37:37 */
@@ -1716,7 +1810,7 @@ type Ucontext_t1 = struct {
type Ucontext_t = Ucontext_t1 /* ucontext.h:151:5 */
// Define struct sigstack.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1731,19 +1825,19 @@ type Ucontext_t = Ucontext_t1 /* ucontext.h:151:5 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing a signal stack (obsolete).
type Sigstack = struct {
- Fss_sp uintptr
- Fss_onstack int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
} /* struct_sigstack.h:23:1 */
// Some of the functions for handling signals in threaded programs must
// be defined here.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1758,11 +1852,11 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1777,7 +1871,7 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1792,36 +1886,6 @@ type Sigstack = struct {
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1830,11 +1894,8 @@ type Sigstack = struct {
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1849,42 +1910,140 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Some of the functions for handling signals in threaded programs must
+// be defined here.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-// Lock elision support.
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1895,7 +2054,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1907,7 +2112,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1916,15 +2121,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1942,8 +2147,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1952,13 +2157,32 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
+// System-specific extensions.
+// System-specific extensions of <signal.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/signal_linux_arm.go b/vendor/modernc.org/libc/signal/signal_linux_arm.go
index 9234e728d..74b0ed423 100644
--- a/vendor/modernc.org/libc/signal/signal_linux_arm.go
+++ b/vendor/modernc.org/libc/signal/signal_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_arm.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_arm.go -pkgname signal', DO NOT EDIT.
package signal
@@ -15,13 +15,9 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
- LITTLE_ENDIAN = 1234
MINSIGSTKSZ = 2048
NGREG = 18
NSIG = 65
- PDP_ENDIAN = 3412
SA_INTERRUPT = 0x20000000
SA_NOCLDSTOP = 1
SA_NOCLDWAIT = 2
@@ -73,7 +69,8 @@ const (
SIG_UNBLOCK = 1
X_ASMARM_SIGCONTEXT_H = 0
X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SIGACTION_H = 1
@@ -86,13 +83,12 @@ const (
X_BITS_SIGSTACK_H = 1
X_BITS_SIGTHREAD_H = 1
X_BITS_SS_FLAGS_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
@@ -111,6 +107,7 @@ const (
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_UCONTEXT_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -121,7 +118,7 @@ const (
// POSIX names to access some of the members.
// sigevent constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -136,7 +133,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// `sigev_notify' values.
const ( /* sigevent-consts.h:27:1: */
@@ -148,15 +145,18 @@ const ( /* sigevent-consts.h:27:1: */
)
// `si_code' values for SIGSEGV signal.
-const ( /* siginfo-consts.h:110:1: */
- SEGV_MAPERR = 1 // Address not mapped to object.
- SEGV_ACCERR = 2 // Invalid permissions for mapped object.
- SEGV_BNDERR = 3 // Bounds checking failure.
- SEGV_PKUERR = 4
+const ( /* siginfo-consts.h:119:1: */
+ SEGV_MAPERR = 1 // Address not mapped to object.
+ SEGV_ACCERR = 2 // Invalid permissions for mapped object.
+ SEGV_BNDERR = 3 // Bounds checking failure.
+ SEGV_PKUERR = 4 // Protection key checking failure.
+ SEGV_ACCADI = 5 // ADI not enabled for mapped object.
+ SEGV_ADIDERR = 6 // Disrupting MCD error.
+ SEGV_ADIPERR = 7
)
// `si_code' values for SIGBUS signal.
-const ( /* siginfo-consts.h:123:1: */
+const ( /* siginfo-consts.h:138:1: */
BUS_ADRALN = 1 // Invalid address alignment.
BUS_ADRERR = 2 // Non-existant physical address.
BUS_OBJERR = 3 // Object specific hardware error.
@@ -165,7 +165,7 @@ const ( /* siginfo-consts.h:123:1: */
)
// `si_code' values for SIGCHLD signal.
-const ( /* siginfo-consts.h:151:1: */
+const ( /* siginfo-consts.h:172:1: */
CLD_EXITED = 1 // Child has exited.
CLD_KILLED = 2 // Child was killed.
CLD_DUMPED = 3 // Child terminated abnormally.
@@ -175,7 +175,7 @@ const ( /* siginfo-consts.h:151:1: */
)
// `si_code' values for SIGPOLL signal.
-const ( /* siginfo-consts.h:168:1: */
+const ( /* siginfo-consts.h:189:1: */
POLL_IN = 1 // Data input available.
POLL_OUT = 2 // Output buffers available.
POLL_MSG = 3 // Input message available.
@@ -187,7 +187,7 @@ const ( /* siginfo-consts.h:168:1: */
// X/Open requires some more fields with fixed names.
// siginfo constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -202,7 +202,7 @@ const ( /* siginfo-consts.h:168:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Most of these constants are uniform across all architectures, but there
// is one exception.
@@ -211,43 +211,48 @@ const ( /* siginfo-consts.h:168:1: */
// Values for `si_code'. Positive values are reserved for kernel-generated
// signals.
const ( /* siginfo-consts.h:35:1: */
- SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
- SI_TKILL = -6 // Sent by tkill.
- SI_SIGIO = -5 // Sent by queued SIGIO.
- SI_ASYNCIO = -4 // Sent by AIO completion.
- SI_MESGQ = -3 // Sent by real time mesq state change.
- SI_TIMER = -2 // Sent by timer expiration.
- SI_QUEUE = -1 // Sent by sigqueue.
- SI_USER = 0 // Sent by kill, sigsend.
+ SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
+ SI_DETHREAD = -7 // Sent by execve killing subsidiary
+ // threads.
+ SI_TKILL = -6 // Sent by tkill.
+ SI_SIGIO = -5 // Sent by queued SIGIO.
+ SI_ASYNCIO = -4 // Sent by AIO completion.
+ SI_MESGQ = -3 // Sent by real time mesq state change.
+ SI_TIMER = -2 // Sent by timer expiration.
+ SI_QUEUE = -1 // Sent by sigqueue.
+ SI_USER = 0 // Sent by kill, sigsend.
SI_KERNEL = 128
)
// `si_code' values for SIGILL signal.
-const ( /* siginfo-consts.h:68:1: */
- ILL_ILLOPC = 1 // Illegal opcode.
- ILL_ILLOPN = 2 // Illegal operand.
- ILL_ILLADR = 3 // Illegal addressing mode.
- ILL_ILLTRP = 4 // Illegal trap.
- ILL_PRVOPC = 5 // Privileged opcode.
- ILL_PRVREG = 6 // Privileged register.
- ILL_COPROC = 7 // Coprocessor error.
- ILL_BADSTK = 8
+const ( /* siginfo-consts.h:71:1: */
+ ILL_ILLOPC = 1 // Illegal opcode.
+ ILL_ILLOPN = 2 // Illegal operand.
+ ILL_ILLADR = 3 // Illegal addressing mode.
+ ILL_ILLTRP = 4 // Illegal trap.
+ ILL_PRVOPC = 5 // Privileged opcode.
+ ILL_PRVREG = 6 // Privileged register.
+ ILL_COPROC = 7 // Coprocessor error.
+ ILL_BADSTK = 8 // Internal stack error.
+ ILL_BADIADDR = 9
)
// `si_code' values for SIGFPE signal.
-const ( /* siginfo-consts.h:89:1: */
- FPE_INTDIV = 1 // Integer divide by zero.
- FPE_INTOVF = 2 // Integer overflow.
- FPE_FLTDIV = 3 // Floating point divide by zero.
- FPE_FLTOVF = 4 // Floating point overflow.
- FPE_FLTUND = 5 // Floating point underflow.
- FPE_FLTRES = 6 // Floating point inexact result.
- FPE_FLTINV = 7 // Floating point invalid operation.
- FPE_FLTSUB = 8
+const ( /* siginfo-consts.h:94:1: */
+ FPE_INTDIV = 1 // Integer divide by zero.
+ FPE_INTOVF = 2 // Integer overflow.
+ FPE_FLTDIV = 3 // Floating point divide by zero.
+ FPE_FLTOVF = 4 // Floating point overflow.
+ FPE_FLTUND = 5 // Floating point underflow.
+ FPE_FLTRES = 6 // Floating point inexact result.
+ FPE_FLTINV = 7 // Floating point invalid operation.
+ FPE_FLTSUB = 8 // Subscript out of range.
+ FPE_FLTUNK = 14 // Undiagnosed floating-point exception.
+ FPE_CONDTRAP = 15
)
// sigstack, sigaltstack definitions.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -262,14 +267,14 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Minimum stack size for a signal handler.
// System default stack size.
// ss_flags values for stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -284,7 +289,7 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Possible values for `ss_flags'.
const ( /* ss_flags.h:27:1: */
@@ -321,7 +326,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -336,11 +341,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.14 Signal handling <signal.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -355,7 +360,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -363,6 +368,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -483,6 +489,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -505,9 +513,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -522,7 +543,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -535,7 +556,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -550,7 +571,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -665,7 +686,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -686,7 +707,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -701,10 +726,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -719,7 +744,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -773,7 +798,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -788,11 +813,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -807,9 +832,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -824,41 +849,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -870,7 +932,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -892,7 +954,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -907,86 +969,113 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// Signal number definitions. Linux version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1001,10 +1090,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Signal number constants. Generic template.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1019,7 +1108,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Fake signal functions.
@@ -1058,7 +1147,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// most Linux systems.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1073,7 +1162,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1093,7 +1182,7 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1108,18 +1197,51 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// ARM has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1134,10 +1256,10 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1152,12 +1274,12 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1172,7 +1294,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for data associated with a signal.
type Sigval = struct{ Fsival_int int32 } /* __sigval_t.h:24:1 */
@@ -1195,7 +1317,7 @@ type Siginfo_t = struct {
// These are all considered GNU extensions.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1210,7 +1332,7 @@ type Siginfo_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// To avoid sigval_t (not a standard type name) having C++ name
// mangling depending on whether the selected standard includes union
@@ -1221,7 +1343,7 @@ type Siginfo_t = struct {
type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1236,10 +1358,10 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1254,12 +1376,12 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1274,15 +1396,15 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* sigevent_t.h:17:9 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1297,10 +1419,10 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1315,12 +1437,12 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1335,7 +1457,7 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t = Pthread_attr_t1 /* sigevent_t.h:17:30 */
@@ -1360,7 +1482,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
// Get the system-specific definitions of `struct sigaction'
// and the `SA_*' and `SIG_*'. constants.
// The proper definitions for Linux's sigaction.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1375,7 +1497,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing the action to be taken when a signal arrives.
type Sigaction = struct {
@@ -1386,7 +1508,7 @@ type Sigaction = struct {
} /* sigaction.h:27:1 */
// Get machine-dependent `struct sigcontext' and signal subcodes.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1401,7 +1523,7 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Kernel headers before 2.1.1 define a struct sigcontext_struct, but
// we need sigcontext.
@@ -1443,15 +1565,10 @@ type Sigcontext = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1466,9 +1583,9 @@ type Sigcontext = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1500,15 +1617,6 @@ type Sigcontext = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1543,11 +1651,6 @@ type Sigcontext = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure describing a signal stack.
@@ -1558,7 +1661,7 @@ type Stack_t = struct {
} /* stack_t.h:31:5 */
// This will define `ucontext_t' and `mcontext_t'.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1573,11 +1676,11 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// System V/ARM ABI compliant context switching support.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1592,10 +1695,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1610,7 +1713,7 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Greg_t = int32 /* ucontext.h:36:13 */
@@ -1621,10 +1724,10 @@ type Gregset_t = [18]Greg_t /* ucontext.h:42:16 */
type X_libc_fpstate = struct {
Ffpregs [8]struct {
- _ [0]uint32
- Fsign1 uint32 /* unsigned sign1: 1, unsigned unused: 15, unsigned sign2: 1, unsigned exponent: 14, unsigned j: 1 */
- Fmantissa1 uint32 /* unsigned mantissa1: 31 */
- Fmantissa0 uint32 /* unsigned mantissa0: 32 */
+ F__ccgo_pad1 [0]uint32
+ Fsign1 uint32 /* unsigned sign1: 1, unsigned unused: 15, unsigned sign2: 1, unsigned exponent: 14, unsigned j: 1 */
+ Fmantissa1 uint32 /* unsigned mantissa1: 31 */
+ Fmantissa0 uint32 /* unsigned mantissa0: 32 */
}
Ffpsr uint32 /* unsigned fpsr: 32 */
Ffpcr uint32 /* unsigned fpcr: 32 */
@@ -1677,7 +1780,7 @@ type Ucontext_t1 = struct {
type Ucontext_t = Ucontext_t1 /* ucontext.h:140:5 */
// Define struct sigstack.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1692,7 +1795,7 @@ type Ucontext_t = Ucontext_t1 /* ucontext.h:140:5 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing a signal stack (obsolete).
type Sigstack = struct {
@@ -1700,32 +1803,251 @@ type Sigstack = struct {
Fss_onstack int32
} /* struct_sigstack.h:23:1 */
-// Data structure for mutex handling.
+// Some of the functions for handling signals in threaded programs must
+// be defined here.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__pad1 uint8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Some of the functions for handling signals in threaded programs must
+// be defined here.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1734,7 +2056,73 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__pad1 uint8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -1746,7 +2134,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1755,15 +2143,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1781,8 +2169,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1791,13 +2179,32 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-var _ int8 /* gen.c:2:13: */
+// System-specific extensions.
+// System-specific extensions of <signal.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/signal_linux_arm64.go b/vendor/modernc.org/libc/signal/signal_linux_arm64.go
index 8d5d5f5fd..8755d7304 100644
--- a/vendor/modernc.org/libc/signal/signal_linux_arm64.go
+++ b/vendor/modernc.org/libc/signal/signal_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_arm64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_arm64.go -pkgname signal', DO NOT EDIT.
package signal
@@ -87,6 +87,8 @@ const (
X_ASM_GENERIC_TYPES_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SIGACTION_H = 1
@@ -100,6 +102,7 @@ const (
X_BITS_SIGTHREAD_H = 1
X_BITS_SS_FLAGS_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -116,6 +119,7 @@ const (
X_NSIG = 65
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIGNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
@@ -133,6 +137,7 @@ const (
X_SYS_TYPES_H = 1
X_SYS_UCONTEXT_H = 1
X_SYS_USER_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -143,7 +148,7 @@ const (
// POSIX names to access some of the members.
// sigevent constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -158,7 +163,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// `sigev_notify' values.
const ( /* sigevent-consts.h:27:1: */
@@ -170,15 +175,18 @@ const ( /* sigevent-consts.h:27:1: */
)
// `si_code' values for SIGSEGV signal.
-const ( /* siginfo-consts.h:110:1: */
- SEGV_MAPERR = 1 // Address not mapped to object.
- SEGV_ACCERR = 2 // Invalid permissions for mapped object.
- SEGV_BNDERR = 3 // Bounds checking failure.
- SEGV_PKUERR = 4
+const ( /* siginfo-consts.h:119:1: */
+ SEGV_MAPERR = 1 // Address not mapped to object.
+ SEGV_ACCERR = 2 // Invalid permissions for mapped object.
+ SEGV_BNDERR = 3 // Bounds checking failure.
+ SEGV_PKUERR = 4 // Protection key checking failure.
+ SEGV_ACCADI = 5 // ADI not enabled for mapped object.
+ SEGV_ADIDERR = 6 // Disrupting MCD error.
+ SEGV_ADIPERR = 7
)
// `si_code' values for SIGBUS signal.
-const ( /* siginfo-consts.h:123:1: */
+const ( /* siginfo-consts.h:138:1: */
BUS_ADRALN = 1 // Invalid address alignment.
BUS_ADRERR = 2 // Non-existant physical address.
BUS_OBJERR = 3 // Object specific hardware error.
@@ -187,7 +195,7 @@ const ( /* siginfo-consts.h:123:1: */
)
// `si_code' values for SIGCHLD signal.
-const ( /* siginfo-consts.h:151:1: */
+const ( /* siginfo-consts.h:172:1: */
CLD_EXITED = 1 // Child has exited.
CLD_KILLED = 2 // Child was killed.
CLD_DUMPED = 3 // Child terminated abnormally.
@@ -197,7 +205,7 @@ const ( /* siginfo-consts.h:151:1: */
)
// `si_code' values for SIGPOLL signal.
-const ( /* siginfo-consts.h:168:1: */
+const ( /* siginfo-consts.h:189:1: */
POLL_IN = 1 // Data input available.
POLL_OUT = 2 // Output buffers available.
POLL_MSG = 3 // Input message available.
@@ -209,7 +217,7 @@ const ( /* siginfo-consts.h:168:1: */
// X/Open requires some more fields with fixed names.
// siginfo constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -224,7 +232,7 @@ const ( /* siginfo-consts.h:168:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Most of these constants are uniform across all architectures, but there
// is one exception.
@@ -233,43 +241,48 @@ const ( /* siginfo-consts.h:168:1: */
// Values for `si_code'. Positive values are reserved for kernel-generated
// signals.
const ( /* siginfo-consts.h:35:1: */
- SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
- SI_TKILL = -6 // Sent by tkill.
- SI_SIGIO = -5 // Sent by queued SIGIO.
- SI_ASYNCIO = -4 // Sent by AIO completion.
- SI_MESGQ = -3 // Sent by real time mesq state change.
- SI_TIMER = -2 // Sent by timer expiration.
- SI_QUEUE = -1 // Sent by sigqueue.
- SI_USER = 0 // Sent by kill, sigsend.
+ SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
+ SI_DETHREAD = -7 // Sent by execve killing subsidiary
+ // threads.
+ SI_TKILL = -6 // Sent by tkill.
+ SI_SIGIO = -5 // Sent by queued SIGIO.
+ SI_ASYNCIO = -4 // Sent by AIO completion.
+ SI_MESGQ = -3 // Sent by real time mesq state change.
+ SI_TIMER = -2 // Sent by timer expiration.
+ SI_QUEUE = -1 // Sent by sigqueue.
+ SI_USER = 0 // Sent by kill, sigsend.
SI_KERNEL = 128
)
// `si_code' values for SIGILL signal.
-const ( /* siginfo-consts.h:68:1: */
- ILL_ILLOPC = 1 // Illegal opcode.
- ILL_ILLOPN = 2 // Illegal operand.
- ILL_ILLADR = 3 // Illegal addressing mode.
- ILL_ILLTRP = 4 // Illegal trap.
- ILL_PRVOPC = 5 // Privileged opcode.
- ILL_PRVREG = 6 // Privileged register.
- ILL_COPROC = 7 // Coprocessor error.
- ILL_BADSTK = 8
+const ( /* siginfo-consts.h:71:1: */
+ ILL_ILLOPC = 1 // Illegal opcode.
+ ILL_ILLOPN = 2 // Illegal operand.
+ ILL_ILLADR = 3 // Illegal addressing mode.
+ ILL_ILLTRP = 4 // Illegal trap.
+ ILL_PRVOPC = 5 // Privileged opcode.
+ ILL_PRVREG = 6 // Privileged register.
+ ILL_COPROC = 7 // Coprocessor error.
+ ILL_BADSTK = 8 // Internal stack error.
+ ILL_BADIADDR = 9
)
// `si_code' values for SIGFPE signal.
-const ( /* siginfo-consts.h:89:1: */
- FPE_INTDIV = 1 // Integer divide by zero.
- FPE_INTOVF = 2 // Integer overflow.
- FPE_FLTDIV = 3 // Floating point divide by zero.
- FPE_FLTOVF = 4 // Floating point overflow.
- FPE_FLTUND = 5 // Floating point underflow.
- FPE_FLTRES = 6 // Floating point inexact result.
- FPE_FLTINV = 7 // Floating point invalid operation.
- FPE_FLTSUB = 8
+const ( /* siginfo-consts.h:94:1: */
+ FPE_INTDIV = 1 // Integer divide by zero.
+ FPE_INTOVF = 2 // Integer overflow.
+ FPE_FLTDIV = 3 // Floating point divide by zero.
+ FPE_FLTOVF = 4 // Floating point overflow.
+ FPE_FLTUND = 5 // Floating point underflow.
+ FPE_FLTRES = 6 // Floating point inexact result.
+ FPE_FLTINV = 7 // Floating point invalid operation.
+ FPE_FLTSUB = 8 // Subscript out of range.
+ FPE_FLTUNK = 14 // Undiagnosed floating-point exception.
+ FPE_CONDTRAP = 15
)
// sigstack, sigaltstack definitions.
-// Copyright (C) 2015-2018 Free Software Foundation, Inc.
+// Copyright (C) 2015-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -284,14 +297,14 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Minimum stack size for a signal handler.
// System default stack size.
// ss_flags values for stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -306,7 +319,7 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Possible values for `ss_flags'.
const ( /* ss_flags.h:27:1: */
@@ -315,7 +328,7 @@ const ( /* ss_flags.h:27:1: */
)
// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
+const ( /* time.h:89:1: */
// Timers run in real time.
ITIMER_REAL = 0
// Timers run only when the process is executing.
@@ -343,7 +356,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -358,11 +371,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.14 Signal handling <signal.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -377,7 +390,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -385,6 +398,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -505,6 +519,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -527,9 +543,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -544,7 +573,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -557,7 +586,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -572,7 +601,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -687,7 +716,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -708,9 +737,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -725,10 +758,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -743,7 +776,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -777,7 +810,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -792,7 +825,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -800,7 +833,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -815,11 +848,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -834,11 +867,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -853,41 +886,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -899,7 +971,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -920,7 +992,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -936,7 +1008,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -949,81 +1021,108 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// Signal number definitions. Linux version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1038,10 +1137,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Signal number constants. Generic template.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1056,7 +1155,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Fake signal functions.
@@ -1095,7 +1194,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// most Linux systems.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1110,7 +1209,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1130,7 +1229,7 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1145,20 +1244,53 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// AArch64 has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1173,10 +1305,10 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1191,12 +1323,12 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1211,13 +1343,13 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for data associated with a signal.
type Sigval = struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
} /* __sigval_t.h:24:1 */
type X__sigval_t = Sigval /* __sigval_t.h:30:22 */
@@ -1233,8 +1365,8 @@ type Siginfo_t = struct {
Fsi_code int32
F__pad0 int32
F_sifields struct {
- _ [0]uint64
- F_pad [28]int32
+ F__ccgo_pad1 [0]uint64
+ F_pad [28]int32
}
} /* siginfo_t.h:124:5 */
@@ -1242,7 +1374,7 @@ type Siginfo_t = struct {
// These are all considered GNU extensions.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1257,7 +1389,7 @@ type Siginfo_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// To avoid sigval_t (not a standard type name) having C++ name
// mangling depending on whether the selected standard includes union
@@ -1270,7 +1402,7 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1285,10 +1417,10 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1303,12 +1435,12 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1323,17 +1455,17 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* sigevent_t.h:17:9 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1348,10 +1480,10 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1366,12 +1498,12 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1386,7 +1518,7 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t = Pthread_attr_t1 /* sigevent_t.h:17:30 */
@@ -1397,8 +1529,8 @@ type Sigevent = struct {
Fsigev_signo int32
Fsigev_notify int32
F_sigev_un struct {
- _ [0]uint64
- F_pad [12]int32
+ F__ccgo_pad1 [0]uint64
+ F_pad [12]int32
}
} /* sigevent_t.h:22:9 */
@@ -1414,7 +1546,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
// Get the system-specific definitions of `struct sigaction'
// and the `SA_*' and `SIG_*'. constants.
// The proper definitions for Linux's sigaction.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1429,19 +1561,19 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing the action to be taken when a signal arrives.
type Sigaction = struct {
F__sigaction_handler struct{ Fsa_handler X__sighandler_t }
Fsa_mask X__sigset_t
Fsa_flags int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsa_restorer uintptr
} /* sigaction.h:27:1 */
// Get machine-dependent `struct sigcontext' and signal subcodes.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1456,7 +1588,7 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Kernel headers before 2.1.1 define a struct sigcontext_struct, but
// we need sigcontext.
@@ -1608,16 +1740,17 @@ type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
// anything below here should be completely generic
-type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
-type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
-type X__kernel_time_t = X__kernel_long_t /* posix_types.h:89:25 */
-type X__kernel_time64_t = int64 /* posix_types.h:90:19 */
-type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:91:25 */
-type X__kernel_timer_t = int32 /* posix_types.h:92:14 */
-type X__kernel_clockid_t = int32 /* posix_types.h:93:14 */
-type X__kernel_caddr_t = uintptr /* posix_types.h:94:14 */
-type X__kernel_uid16_t = uint16 /* posix_types.h:95:24 */
-type X__kernel_gid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
// Below are truly Linux-specific types that should never collide with
// any application/library that wants linux/types.h.
@@ -1691,6 +1824,13 @@ type Fpsimd_context = struct {
Fvregs [32]X__uint128_t
} /* sigcontext.h:73:1 */
+// Note: similarly to all other integer fields, each V-register is stored in an
+// endianness-dependent format, with the byte at offset i from the start of the
+// in-memory representation of the register value containing
+//
+// bits [(7 + 8 * i) : (8 * i)] of the register on little-endian hosts; or
+// bits [(127 - 8 * i) : (120 - 8 * i)] on big-endian hosts.
+
// ESR_EL1 context
type Esr_context = struct {
@@ -1699,7 +1839,7 @@ type Esr_context = struct {
Fsize X__u32
}
Fesr X__u64
-} /* sigcontext.h:83:1 */
+} /* sigcontext.h:92:1 */
// extra_context: describes extra space in the signal frame for
// additional structures that don't fit in sigcontext.__reserved[].
@@ -1734,7 +1874,7 @@ type Extra_context = struct {
Fdatap X__u64
Fsize X__u32
F__reserved [3]X__u32
-} /* sigcontext.h:116:1 */
+} /* sigcontext.h:125:1 */
type Sve_context = struct {
Fhead struct {
@@ -1743,7 +1883,7 @@ type Sve_context = struct {
}
Fvl X__u16
F__reserved [3]X__u16
-} /* sigcontext.h:125:1 */
+} /* sigcontext.h:134:1 */
// Wide character type.
// Locale-writers should change this as necessary to
@@ -1753,15 +1893,10 @@ type Sve_context = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1776,9 +1911,9 @@ type Sve_context = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1810,15 +1945,6 @@ type Sve_context = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1853,23 +1979,18 @@ type Sve_context = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure describing a signal stack.
type Stack_t = struct {
- Fss_sp uintptr
- Fss_flags int32
- _ [4]byte
- Fss_size Size_t
+ Fss_sp uintptr
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+ Fss_size Size_t
} /* stack_t.h:31:5 */
// This will define `ucontext_t' and `mcontext_t'.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1885,11 +2006,11 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// System V/AArch64 ABI compliant context switching support.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1904,10 +2025,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1922,9 +2043,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Definitions for core files and libthread_db. Generic Linux version.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1940,7 +2062,7 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This is somewhat modelled after the file of the same name on SVR4
// systems. It provides a definition of the core file format for ELF
@@ -1951,7 +2073,7 @@ type Stack_t = struct {
// Don't read too much into it. Don't use it for anything other than
// GDB unless you know what you are doing.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1966,9 +2088,9 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1983,9 +2105,9 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2000,10 +2122,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2018,12 +2140,12 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2038,7 +2160,7 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2046,7 +2168,7 @@ type Stack_t = struct {
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2061,7 +2183,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2075,7 +2197,7 @@ type Timeval = struct {
type Suseconds_t = X__suseconds_t /* time.h:28:23 */
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2090,11 +2212,11 @@ type Suseconds_t = X__suseconds_t /* time.h:28:23 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2109,11 +2231,11 @@ type Suseconds_t = X__suseconds_t /* time.h:28:23 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2128,12 +2250,12 @@ type Suseconds_t = X__suseconds_t /* time.h:28:23 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2148,7 +2270,7 @@ type Suseconds_t = X__suseconds_t /* time.h:28:23 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -2181,8 +2303,6 @@ type Timezone = struct {
Ftz_dsttime int32
} /* time.h:52:1 */
-type X__timezone_ptr_t = uintptr /* time.h:58:25 */
-
// Type of the second argument to `getitimer' and
// the second and third arguments `setitimer'.
type Itimerval = struct {
@@ -2194,14 +2314,14 @@ type Itimerval = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
-} /* time.h:104:1 */
+} /* time.h:105:1 */
-type X__itimer_which_t = int32 /* time.h:117:13 */
+type X__itimer_which_t = int32 /* time.h:118:13 */
// Convenience macros for operations on timevals.
// NOTE: `timercmp' does not work for >= or <=.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2216,11 +2336,11 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2235,10 +2355,10 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2253,7 +2373,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2288,7 +2408,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2303,7 +2423,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2311,7 +2431,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2326,7 +2446,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2334,7 +2454,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2349,14 +2469,14 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -2388,15 +2508,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -2431,11 +2542,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -2446,7 +2552,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2461,10 +2567,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2479,7 +2585,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -2488,18 +2594,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2514,20 +2619,20 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2542,11 +2647,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2561,7 +2666,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -2576,36 +2681,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -2614,11 +2689,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -2634,9 +2706,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2653,36 +2726,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -2692,7 +2884,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -2704,7 +2941,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -2713,15 +2950,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -2731,8 +2968,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -2742,8 +2979,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -2752,16 +2989,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 2009-2018 Free Software Foundation, Inc.
+// Copyright (C) 2009-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -2777,7 +3014,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type User_regs_struct = struct {
Fregs [31]uint64
@@ -2792,24 +3029,70 @@ type User_fpsimd_struct = struct {
Ffpcr uint32
} /* user.h:30:1 */
+// bits/procfs.h, provided by each architecture, must define
+// elf_gregset_t, elf_fpregset_t and any other architecture-specific
+// types needed.
+// Types for registers for sys/procfs.h. AArch64 version.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// Type for a general-purpose register.
-type Elf_greg_t = X__uint64_t /* procfs.h:39:20 */
+type Elf_greg_t = X__uint64_t /* procfs.h:25:20 */
// And the whole bunch of them. We could have used `struct
// pt_regs' directly in the typedef, but tradition says that
// the register set is an array, which does have some peculiar
// semantics, so leave it that way.
-type Elf_gregset_t = [34]Elf_greg_t /* procfs.h:46:20 */
+type Elf_gregset_t = [34]Elf_greg_t /* procfs.h:32:20 */
// Register set for the floating-point registers.
-type Elf_fpregset_t = User_fpsimd_struct /* procfs.h:49:35 */
+type Elf_fpregset_t = User_fpsimd_struct /* procfs.h:35:35 */
+
+// bits/procfs-id.h must define __pr_uid_t and __pr_gid_t, the types
+// of pr_uid and pr_gid.
+// Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+type X__pr_uid_t = uint32 /* procfs-id.h:24:22 */
+type X__pr_gid_t = uint32 /* procfs-id.h:25:22 */
// Signal info.
type Elf_siginfo = struct {
Fsi_signo int32
Fsi_code int32
Fsi_errno int32
-} /* procfs.h:52:1 */
+} /* procfs.h:49:1 */
// Definitions to generate Intel SVR4-like core files. These mostly
// have the same names as the SVR4 types with "elf_" tacked on the
@@ -2824,15 +3107,15 @@ type Elf_prstatus = struct {
Fsi_code int32
Fsi_errno int32
}
- Fpr_cursig int16
- _ [2]byte
- Fpr_sigpend uint64
- Fpr_sighold uint64
- Fpr_pid X__pid_t
- Fpr_ppid X__pid_t
- Fpr_pgrp X__pid_t
- Fpr_sid X__pid_t
- Fpr_utime struct {
+ Fpr_cursig int16
+ F__ccgo_pad1 [2]byte
+ Fpr_sigpend uint64
+ Fpr_sighold uint64
+ Fpr_pid X__pid_t
+ Fpr_ppid X__pid_t
+ Fpr_pgrp X__pid_t
+ Fpr_sid X__pid_t
+ Fpr_utime struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
@@ -2848,46 +3131,89 @@ type Elf_prstatus = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
- Fpr_reg Elf_gregset_t
- Fpr_fpvalid int32
- _ [4]byte
-} /* procfs.h:66:1 */
+ Fpr_reg Elf_gregset_t
+ Fpr_fpvalid int32
+ F__ccgo_pad2 [4]byte
+} /* procfs.h:63:1 */
type Elf_prpsinfo = struct {
- Fpr_state int8
- Fpr_sname int8
- Fpr_zomb int8
- Fpr_nice int8
- _ [4]byte
- Fpr_flag uint64
- Fpr_uid uint32
- Fpr_gid uint32
- Fpr_pid int32
- Fpr_ppid int32
- Fpr_pgrp int32
- Fpr_sid int32
- Fpr_fname [16]int8
- Fpr_psargs [80]int8
-} /* procfs.h:87:1 */
+ Fpr_state uint8
+ Fpr_sname uint8
+ Fpr_zomb uint8
+ Fpr_nice uint8
+ F__ccgo_pad1 [4]byte
+ Fpr_flag uint64
+ Fpr_uid X__pr_uid_t
+ Fpr_gid X__pr_gid_t
+ Fpr_pid int32
+ Fpr_ppid int32
+ Fpr_pgrp int32
+ Fpr_sid int32
+ Fpr_fname [16]uint8
+ Fpr_psargs [80]uint8
+} /* procfs.h:84:1 */
// The rest of this file provides the types for emulation of the
// Solaris <proc_service.h> interfaces that should be implemented by
// users of libthread_db.
// Addresses.
-type Psaddr_t = uintptr /* procfs.h:107:14 */
+type Psaddr_t = uintptr /* procfs.h:104:14 */
+
+// Types of prgregset_t and prfpregset_t. Generic Linux version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+type X__prgregset_t = Elf_gregset_t /* procfs-prregset.h:24:23 */
+type X__prfpregset_t = Elf_fpregset_t /* procfs-prregset.h:25:24 */
// Register sets. Linux has different names.
-type Prgregset_t = Elf_gregset_t /* procfs.h:110:23 */
-type Prfpregset_t = Elf_fpregset_t /* procfs.h:111:24 */
+type Prgregset_t = X__prgregset_t /* procfs.h:109:23 */
+type Prfpregset_t = X__prfpregset_t /* procfs.h:110:24 */
// We don't have any differences between processes and threads,
// therefore have only one PID type.
-type Lwpid_t = X__pid_t /* procfs.h:115:17 */
+type Lwpid_t = X__pid_t /* procfs.h:114:17 */
// Process status and info. In the end we do provide typedefs for them.
-type Prstatus_t = Elf_prstatus /* procfs.h:118:29 */
-type Prpsinfo_t = Elf_prpsinfo /* procfs.h:119:29 */
+type Prstatus_t = Elf_prstatus /* procfs.h:117:29 */
+type Prpsinfo_t = Elf_prpsinfo /* procfs.h:118:29 */
+
+// On some architectures, provide other-ABI variants of the above
+// types.
+// Extra sys/procfs.h definitions. Generic Linux version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
type Greg_t = Elf_greg_t /* ucontext.h:39:20 */
@@ -2923,7 +3249,7 @@ type Ucontext_t1 = struct {
type Ucontext_t = Ucontext_t1 /* ucontext.h:74:5 */
// Define struct sigstack.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -2938,13 +3264,32 @@ type Ucontext_t = Ucontext_t1 /* ucontext.h:74:5 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing a signal stack (obsolete).
type Sigstack = struct {
- Fss_sp uintptr
- Fss_onstack int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
} /* struct_sigstack.h:23:1 */
-var _ int8 /* gen.c:2:13: */
+// System-specific extensions.
+// System-specific extensions of <signal.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/signal_linux_s390x.go b/vendor/modernc.org/libc/signal/signal_linux_s390x.go
index 2472f492e..f0ea5e595 100644
--- a/vendor/modernc.org/libc/signal/signal_linux_s390x.go
+++ b/vendor/modernc.org/libc/signal/signal_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_linux_s390x.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_linux_s390x.go -pkgname signal', DO NOT EDIT.
package signal
@@ -70,6 +70,8 @@ const (
X_ASM_GENERIC_INT_LL64_H = 0
X_ASM_S390_SIGCONTEXT_H = 0
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SIGACTION_H = 1
@@ -82,6 +84,7 @@ const (
X_BITS_SIGSTACK_H = 1
X_BITS_SIGTHREAD_H = 1
X_BITS_SS_FLAGS_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -96,6 +99,7 @@ const (
X_NSIG = 65
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_S390_TYPES_H = 0
X_SIGCONTEXT_NSIG = 64
X_SIGCONTEXT_NSIG_BPW = 64
@@ -112,6 +116,7 @@ const (
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_UCONTEXT_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -122,7 +127,7 @@ const (
// POSIX names to access some of the members.
// sigevent constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -137,7 +142,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// `sigev_notify' values.
const ( /* sigevent-consts.h:27:1: */
@@ -149,15 +154,18 @@ const ( /* sigevent-consts.h:27:1: */
)
// `si_code' values for SIGSEGV signal.
-const ( /* siginfo-consts.h:110:1: */
- SEGV_MAPERR = 1 // Address not mapped to object.
- SEGV_ACCERR = 2 // Invalid permissions for mapped object.
- SEGV_BNDERR = 3 // Bounds checking failure.
- SEGV_PKUERR = 4
+const ( /* siginfo-consts.h:119:1: */
+ SEGV_MAPERR = 1 // Address not mapped to object.
+ SEGV_ACCERR = 2 // Invalid permissions for mapped object.
+ SEGV_BNDERR = 3 // Bounds checking failure.
+ SEGV_PKUERR = 4 // Protection key checking failure.
+ SEGV_ACCADI = 5 // ADI not enabled for mapped object.
+ SEGV_ADIDERR = 6 // Disrupting MCD error.
+ SEGV_ADIPERR = 7
)
// `si_code' values for SIGBUS signal.
-const ( /* siginfo-consts.h:123:1: */
+const ( /* siginfo-consts.h:138:1: */
BUS_ADRALN = 1 // Invalid address alignment.
BUS_ADRERR = 2 // Non-existant physical address.
BUS_OBJERR = 3 // Object specific hardware error.
@@ -166,7 +174,7 @@ const ( /* siginfo-consts.h:123:1: */
)
// `si_code' values for SIGCHLD signal.
-const ( /* siginfo-consts.h:151:1: */
+const ( /* siginfo-consts.h:172:1: */
CLD_EXITED = 1 // Child has exited.
CLD_KILLED = 2 // Child was killed.
CLD_DUMPED = 3 // Child terminated abnormally.
@@ -176,7 +184,7 @@ const ( /* siginfo-consts.h:151:1: */
)
// `si_code' values for SIGPOLL signal.
-const ( /* siginfo-consts.h:168:1: */
+const ( /* siginfo-consts.h:189:1: */
POLL_IN = 1 // Data input available.
POLL_OUT = 2 // Output buffers available.
POLL_MSG = 3 // Input message available.
@@ -188,7 +196,7 @@ const ( /* siginfo-consts.h:168:1: */
// X/Open requires some more fields with fixed names.
// siginfo constants. Linux version.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -203,7 +211,7 @@ const ( /* siginfo-consts.h:168:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Most of these constants are uniform across all architectures, but there
// is one exception.
@@ -212,43 +220,48 @@ const ( /* siginfo-consts.h:168:1: */
// Values for `si_code'. Positive values are reserved for kernel-generated
// signals.
const ( /* siginfo-consts.h:35:1: */
- SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
- SI_TKILL = -6 // Sent by tkill.
- SI_SIGIO = -5 // Sent by queued SIGIO.
- SI_ASYNCIO = -4 // Sent by AIO completion.
- SI_MESGQ = -3 // Sent by real time mesq state change.
- SI_TIMER = -2 // Sent by timer expiration.
- SI_QUEUE = -1 // Sent by sigqueue.
- SI_USER = 0 // Sent by kill, sigsend.
+ SI_ASYNCNL = -60 // Sent by asynch name lookup completion.
+ SI_DETHREAD = -7 // Sent by execve killing subsidiary
+ // threads.
+ SI_TKILL = -6 // Sent by tkill.
+ SI_SIGIO = -5 // Sent by queued SIGIO.
+ SI_ASYNCIO = -4 // Sent by AIO completion.
+ SI_MESGQ = -3 // Sent by real time mesq state change.
+ SI_TIMER = -2 // Sent by timer expiration.
+ SI_QUEUE = -1 // Sent by sigqueue.
+ SI_USER = 0 // Sent by kill, sigsend.
SI_KERNEL = 128
)
// `si_code' values for SIGILL signal.
-const ( /* siginfo-consts.h:68:1: */
- ILL_ILLOPC = 1 // Illegal opcode.
- ILL_ILLOPN = 2 // Illegal operand.
- ILL_ILLADR = 3 // Illegal addressing mode.
- ILL_ILLTRP = 4 // Illegal trap.
- ILL_PRVOPC = 5 // Privileged opcode.
- ILL_PRVREG = 6 // Privileged register.
- ILL_COPROC = 7 // Coprocessor error.
- ILL_BADSTK = 8
+const ( /* siginfo-consts.h:71:1: */
+ ILL_ILLOPC = 1 // Illegal opcode.
+ ILL_ILLOPN = 2 // Illegal operand.
+ ILL_ILLADR = 3 // Illegal addressing mode.
+ ILL_ILLTRP = 4 // Illegal trap.
+ ILL_PRVOPC = 5 // Privileged opcode.
+ ILL_PRVREG = 6 // Privileged register.
+ ILL_COPROC = 7 // Coprocessor error.
+ ILL_BADSTK = 8 // Internal stack error.
+ ILL_BADIADDR = 9
)
// `si_code' values for SIGFPE signal.
-const ( /* siginfo-consts.h:89:1: */
- FPE_INTDIV = 1 // Integer divide by zero.
- FPE_INTOVF = 2 // Integer overflow.
- FPE_FLTDIV = 3 // Floating point divide by zero.
- FPE_FLTOVF = 4 // Floating point overflow.
- FPE_FLTUND = 5 // Floating point underflow.
- FPE_FLTRES = 6 // Floating point inexact result.
- FPE_FLTINV = 7 // Floating point invalid operation.
- FPE_FLTSUB = 8
+const ( /* siginfo-consts.h:94:1: */
+ FPE_INTDIV = 1 // Integer divide by zero.
+ FPE_INTOVF = 2 // Integer overflow.
+ FPE_FLTDIV = 3 // Floating point divide by zero.
+ FPE_FLTOVF = 4 // Floating point overflow.
+ FPE_FLTUND = 5 // Floating point underflow.
+ FPE_FLTRES = 6 // Floating point inexact result.
+ FPE_FLTINV = 7 // Floating point invalid operation.
+ FPE_FLTSUB = 8 // Subscript out of range.
+ FPE_FLTUNK = 14 // Undiagnosed floating-point exception.
+ FPE_CONDTRAP = 15
)
// sigstack, sigaltstack definitions.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -263,14 +276,14 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Minimum stack size for a signal handler.
// System default stack size.
// ss_flags values for stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -285,7 +298,7 @@ const ( /* siginfo-consts.h:89:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Possible values for `ss_flags'.
const ( /* ss_flags.h:27:1: */
@@ -311,7 +324,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -326,11 +339,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.14 Signal handling <signal.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -345,7 +358,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -353,6 +366,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -473,6 +487,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -495,9 +511,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -512,7 +541,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -525,7 +554,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -540,7 +569,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -655,7 +684,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -676,10 +705,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -694,7 +727,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -731,7 +764,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -746,11 +779,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -765,43 +798,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -813,7 +868,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -834,7 +889,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -849,7 +904,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -864,81 +919,109 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// Signal number definitions. Linux version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -953,10 +1036,10 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Signal number constants. Generic template.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -971,7 +1054,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Fake signal functions.
@@ -1010,7 +1093,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// most Linux systems.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1025,7 +1108,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1045,7 +1128,7 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1060,21 +1143,54 @@ type Uid_t = X__uid_t /* signal.h:46:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// S/390 is big-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// Determine the wordsize from the preprocessor defines.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1089,12 +1205,12 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1109,13 +1225,13 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for data associated with a signal.
type Sigval = struct {
- _ [0]uint64
- Fsival_int int32
- _ [4]byte
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
} /* __sigval_t.h:24:1 */
type X__sigval_t = Sigval /* __sigval_t.h:30:22 */
@@ -1131,8 +1247,8 @@ type Siginfo_t = struct {
Fsi_code int32
F__pad0 int32
F_sifields struct {
- _ [0]uint64
- F_pad [28]int32
+ F__ccgo_pad1 [0]uint64
+ F_pad [28]int32
}
} /* siginfo_t.h:124:5 */
@@ -1140,7 +1256,7 @@ type Siginfo_t = struct {
// These are all considered GNU extensions.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1155,7 +1271,7 @@ type Siginfo_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// To avoid sigval_t (not a standard type name) having C++ name
// mangling depending on whether the selected standard includes union
@@ -1169,7 +1285,7 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
// Determine the wordsize from the preprocessor defines.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1184,12 +1300,12 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1204,18 +1320,18 @@ type Sigval_t = X__sigval_t /* sigval_t.h:16:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* sigevent_t.h:17:9 */
// Determine the wordsize from the preprocessor defines.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1230,12 +1346,12 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Define __sigval_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1250,7 +1366,7 @@ type Pthread_attr_t1 = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Forward declaration.
type Pthread_attr_t = Pthread_attr_t1 /* sigevent_t.h:17:30 */
@@ -1261,8 +1377,8 @@ type Sigevent = struct {
Fsigev_signo int32
Fsigev_notify int32
F_sigev_un struct {
- _ [0]uint64
- F_pad [12]int32
+ F__ccgo_pad1 [0]uint64
+ F_pad [12]int32
}
} /* sigevent_t.h:22:9 */
@@ -1278,7 +1394,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
// Get the system-specific definitions of `struct sigaction'
// and the `SA_*' and `SIG_*'. constants.
// Definitions for 31 & 64 bit S/390 sigaction.
-// Copyright (C) 2001-2018 Free Software Foundation, Inc.
+// Copyright (C) 2001-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1293,7 +1409,7 @@ type Sig_t = X__sighandler_t /* signal.h:190:24 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1307,7 +1423,7 @@ type Sigaction = struct {
} /* sigaction.h:30:1 */
// Get machine-dependent `struct sigcontext' and signal subcodes.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1322,7 +1438,7 @@ type Sigaction = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Kernel headers before 2.1.1 define a struct sigcontext_struct, but
// we need sigcontext.
@@ -1414,13 +1530,13 @@ type X__kernel_ssize_t = int64 /* posix_types.h:17:25 */
type X__kernel_old_dev_t = uint16 /* posix_types.h:20:24 */
-type X__kernel_ino_t = uint32 /* posix_types.h:34:25 */
-type X__kernel_mode_t = uint32 /* posix_types.h:35:25 */
-type X__kernel_ipc_pid_t = int32 /* posix_types.h:36:25 */
-type X__kernel_uid_t = uint32 /* posix_types.h:37:25 */
-type X__kernel_gid_t = uint32 /* posix_types.h:38:25 */
-type X__kernel_ptrdiff_t = int64 /* posix_types.h:39:25 */
-type X__kernel_sigset_t = uint64 /* posix_types.h:40:25 */ // at least 32 bits
+type X__kernel_ino_t = uint32 /* posix_types.h:35:25 */
+type X__kernel_mode_t = uint32 /* posix_types.h:36:25 */
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:37:25 */
+type X__kernel_uid_t = uint32 /* posix_types.h:38:25 */
+type X__kernel_gid_t = uint32 /* posix_types.h:39:25 */
+type X__kernel_ptrdiff_t = int64 /* posix_types.h:40:25 */
+type X__kernel_sigset_t = uint64 /* posix_types.h:41:25 */ // at least 32 bits
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
@@ -1453,16 +1569,17 @@ type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
// anything below here should be completely generic
-type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
-type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
-type X__kernel_time_t = X__kernel_long_t /* posix_types.h:89:25 */
-type X__kernel_time64_t = int64 /* posix_types.h:90:19 */
-type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:91:25 */
-type X__kernel_timer_t = int32 /* posix_types.h:92:14 */
-type X__kernel_clockid_t = int32 /* posix_types.h:93:14 */
-type X__kernel_caddr_t = uintptr /* posix_types.h:94:14 */
-type X__kernel_uid16_t = uint16 /* posix_types.h:95:24 */
-type X__kernel_gid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
// Below are truly Linux-specific types that should never collide with
// any application/library that wants linux/types.h.
@@ -1531,15 +1648,10 @@ type Sigcontext = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1554,9 +1666,9 @@ type Sigcontext = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1588,15 +1700,6 @@ type Sigcontext = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1631,23 +1734,18 @@ type Sigcontext = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure describing a signal stack.
type Stack_t = struct {
- Fss_sp uintptr
- Fss_flags int32
- _ [4]byte
- Fss_size Size_t
+ Fss_sp uintptr
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+ Fss_size Size_t
} /* stack_t.h:31:5 */
// This will define `ucontext_t' and `mcontext_t'.
-// Copyright (C) 2000-2018 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
// Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
// This file is part of the GNU C Library.
//
@@ -1663,9 +1761,9 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1680,10 +1778,10 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Define stack_t. Linux version.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1698,7 +1796,7 @@ type Stack_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Type for a program status word.
type X__psw_t = struct {
@@ -1721,9 +1819,9 @@ type Fpreg_t = struct{ Fd float64 } /* ucontext.h:64:5 */
// Register set for the floating-point registers.
type Fpregset_t = struct {
- Ffpc uint32
- _ [4]byte
- Ffprs [16]Fpreg_t
+ Ffpc uint32
+ F__ccgo_pad1 [4]byte
+ Ffprs [16]Fpreg_t
} /* ucontext.h:71:5 */
// Context to describe whole processor state.
@@ -1747,7 +1845,7 @@ type Ucontext_t1 = struct {
type Ucontext_t = Ucontext_t1 /* ucontext.h:90:5 */
// Define struct sigstack.
-// Copyright (C) 1998-2018 Free Software Foundation, Inc.
+// Copyright (C) 1998-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1762,19 +1860,19 @@ type Ucontext_t = Ucontext_t1 /* ucontext.h:90:5 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Structure describing a signal stack (obsolete).
type Sigstack = struct {
- Fss_sp uintptr
- Fss_onstack int32
- _ [4]byte
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
} /* struct_sigstack.h:23:1 */
// Some of the functions for handling signals in threaded programs must
// be defined here.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1789,11 +1887,11 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1808,7 +1906,7 @@ type Sigstack = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1823,36 +1921,6 @@ type Sigstack = struct {
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1861,11 +1929,10 @@ type Sigstack = struct {
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1884,35 +1951,134 @@ type Sigstack = struct {
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Some of the functions for handling signals in threaded programs must
+// be defined here.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1923,7 +2089,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1935,7 +2146,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1944,15 +2155,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1970,8 +2181,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1980,13 +2191,32 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-var _ int8 /* gen.c:2:13: */
+// System-specific extensions.
+// System-specific extensions of <signal.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/signal_netbsd_amd64.go b/vendor/modernc.org/libc/signal/signal_netbsd_amd64.go
new file mode 100644
index 000000000..459177731
--- /dev/null
+++ b/vendor/modernc.org/libc/signal/signal_netbsd_amd64.go
@@ -0,0 +1,2889 @@
+// Code generated by 'ccgo signal/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 signal/signal_netbsd_amd64.go -pkgname signal', DO NOT EDIT.
+
+package signal
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BUS_ADRALN = 1
+ BUS_ADRERR = 2
+ BUS_OBJERR = 3
+ BYTE_ORDER = 1234
+ CLD_CONTINUED = 6
+ CLD_DUMPED = 3
+ CLD_EXITED = 1
+ CLD_KILLED = 2
+ CLD_STOPPED = 5
+ CLD_TRAPPED = 4
+ FD_SETSIZE = 256
+ FPE_FLTDIV = 3
+ FPE_FLTINV = 7
+ FPE_FLTOVF = 4
+ FPE_FLTRES = 6
+ FPE_FLTSUB = 8
+ FPE_FLTUND = 5
+ FPE_INTDIV = 1
+ FPE_INTOVF = 2
+ ILL_BADSTK = 8
+ ILL_COPROC = 7
+ ILL_ILLADR = 3
+ ILL_ILLOPC = 1
+ ILL_ILLOPN = 2
+ ILL_ILLTRP = 4
+ ILL_PRVOPC = 5
+ ILL_PRVREG = 6
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ MINSIGSTKSZ = 8192
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ NSIG = 64
+ PDP_ENDIAN = 3412
+ POLL_ERR = 4
+ POLL_HUP = 6
+ POLL_IN = 1
+ POLL_MSG = 3
+ POLL_OUT = 2
+ POLL_PRI = 5
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SA_NOCLDSTOP = 0x0008
+ SA_NOCLDWAIT = 0x0020
+ SA_NODEFER = 0x0010
+ SA_NOKERNINFO = 0x0080
+ SA_ONSTACK = 0x0001
+ SA_RESETHAND = 0x0004
+ SA_RESTART = 0x0002
+ SA_SIGINFO = 0x0040
+ SEGV_ACCERR = 2
+ SEGV_MAPERR = 1
+ SIGABRT = 6
+ SIGALRM = 14
+ SIGBUS = 10
+ SIGCHLD = 20
+ SIGCONT = 19
+ SIGEMT = 7
+ SIGEV_NONE = 0
+ SIGEV_SA = 3
+ SIGEV_SIGNAL = 1
+ SIGEV_THREAD = 2
+ SIGFPE = 8
+ SIGHUP = 1
+ SIGILL = 4
+ SIGINFO = 29
+ SIGINT = 2
+ SIGIO = 23
+ SIGIOT = 6
+ SIGKILL = 9
+ SIGPIPE = 13
+ SIGPROF = 27
+ SIGPWR = 32
+ SIGQUIT = 3
+ SIGRTMAX = 63
+ SIGRTMIN = 33
+ SIGSEGV = 11
+ SIGSTKSZ = 40960
+ SIGSTOP = 17
+ SIGSYS = 12
+ SIGTERM = 15
+ SIGTRAP = 5
+ SIGTSTP = 18
+ SIGTTIN = 21
+ SIGTTOU = 22
+ SIGURG = 16
+ SIGUSR1 = 30
+ SIGUSR2 = 31
+ SIGVTALRM = 26
+ SIGWINCH = 28
+ SIGXCPU = 24
+ SIGXFSZ = 25
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIG_BLOCK = 1
+ SIG_SETMASK = 3
+ SIG_UNBLOCK = 2
+ SIZE_MAX = 18446744073709551615
+ SI_ASYNCIO = -3
+ SI_LWP = -5
+ SI_MESGQ = -4
+ SI_NOINFO = 32767
+ SI_QUEUE = -1
+ SI_TIMER = -2
+ SI_USER = 0
+ SS_DISABLE = 0x0004
+ SS_ONSTACK = 0x0001
+ TC_FLAGMASK = 2147483648
+ TC_TSS = 0x80000000
+ TRAP_BRKPT = 1
+ TRAP_CHLD = 4
+ TRAP_DBREG = 6
+ TRAP_EXEC = 3
+ TRAP_LWP = 5
+ TRAP_SCE = 7
+ TRAP_SCX = 8
+ TRAP_TRACE = 2
+ T_ALIGNFLT = 7
+ T_ARITHTRAP = 2
+ T_ASTFLT = 3
+ T_BOUND = 11
+ T_BPTFLT = 1
+ T_DIVIDE = 8
+ T_DNA = 12
+ T_DOUBLEFLT = 13
+ T_FPOPFLT = 14
+ T_MCA = 18
+ T_NMI = 9
+ T_OFLOW = 10
+ T_PAGEFLT = 6
+ T_PRIVINFLT = 0
+ T_PROTFLT = 4
+ T_RESERVED = 20
+ T_SEGNPFLT = 16
+ T_STKFLT = 17
+ T_TRCTRAP = 5
+ T_TSSFLT = 15
+ T_USER = 0x100
+ T_XMM = 19
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_FRAME_REGS_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_MCONTEXT_H_ = 0
+ X_AMD64_SIGNAL_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_NSIG = 64
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIGNAL_H_ = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_SIGINFO_H_ = 0
+ X_SYS_SIGNAL_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TIMESPEC_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_SYS_UCONTEXT_H_ = 0
+ X_UC_CLRSTACK = 0x00020000
+ X_UC_CPU = 0x04
+ X_UC_FPU = 0x08
+ X_UC_MD = 0x400f0020
+ X_UC_SETSTACK = 0x00010000
+ X_UC_SIGMASK = 0x01
+ X_UC_STACK = 0x02
+ X_UC_TLSBASE = 0x00080000
+ X_UC_UCONTEXT_ALIGN = -16
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+// Get the "code" values
+// $NetBSD: trap.h,v 1.1 2003/04/26 18:39:48 fvdl Exp $
+
+// $NetBSD: trap.h,v 1.2 2003/08/07 16:30:33 agc Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// William Jolitz.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)trap.h 5.4 (Berkeley) 5/9/91
+
+// Trap type values
+// also known in trap.c for name strings
+
+// Trap's coming from user mode
+
+// Flags kludged into the trap code
+
+// $NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $
+
+// -
+// Copyright (c) 1999 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: frame_regs.h,v 1.7 2015/04/26 18:49:39 mrg Exp $
+
+// amd64 registers (and friends) ordered as in a trap/interrupt/syscall frame.
+// Also the indexes into the 'general register state' (__greg_t) passed to
+// userland.
+// Historically they were in the same order, but the order in the frames
+// has been changed to improve syscall efficiency.
+//
+// Notes:
+// 1) gdb (amd64nbsd-tdep.c) has a lookup table that assumes the __greg_t
+// ordering.
+// 2) src/lib/libc/arch/x86_64/gen/makecontext.c assumes that the first
+// 6 entries in the __greg_t array match the registers used to pass
+// function arguments.
+// 3) The 'struct reg' from machine/reg.h has to match __greg_t.
+// Since they are both arrays and indexed with the same tokens this
+// shouldn't be a problem, but is rather confusing.
+// This assumption is made in a lot of places!
+// 4) There might be other code out there that relies on the ordering.
+//
+// The first entries below match the registers used for syscall arguments
+// (%rcx is destroyed by the syscall instruction, the libc system call
+// stubs copy %rcx to %r10).
+// arg6-arg9 are copied from the user stack for system calls with more
+// than 6 args (SYS_MAXSYSARGS is 8, + 2 entries for SYS___SYSCALL).
+
+// General register state
+const ( /* mcontext.h:43:1: */
+ X_REG_RDI = 0 /* tf_rdi */
+ X_REG_RSI = 1 /* tf_rsi */
+ X_REG_RDX = 2 /* tf_rdx */
+ X_REG_R10 = 6 /* tf_r10 */
+ X_REG_R8 = 4 /* tf_r8 */
+ X_REG_R9 = 5 /* tf_r9 */
+ X_REG_RCX = 3 /* tf_rcx */
+ X_REG_R11 = 7 /* tf_r11 */
+ X_REG_R12 = 8 /* tf_r12 */
+ X_REG_R13 = 9 /* tf_r13 */
+ X_REG_R14 = 10 /* tf_r14 */
+ X_REG_R15 = 11 /* tf_r15 */
+ X_REG_RBP = 12 /* tf_rbp */
+ X_REG_RBX = 13 /* tf_rbx */
+ X_REG_RAX = 14 /* tf_rax */
+ X_REG_GS = 15 /* tf_gs */
+ X_REG_FS = 16 /* tf_fs */
+ X_REG_ES = 17 /* tf_es */
+ X_REG_DS = 18 /* tf_ds */
+ X_REG_TRAPNO = 19 /* Below portion defined in hardware */
+ X_REG_ERR = 20 /* tf_err: Dummy inserted if not defined */
+ X_REG_RIP = 21 /* tf_rip */
+ X_REG_CS = 22 /* tf_cs */
+ X_REG_RFLAGS = 23 /* These are pushed unconditionally on the x86-64 */
+ X_REG_RSP = 24 /* tf_rsp */
+ X_REG_SS = 25
+ X_NGREG = 26
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// $NetBSD: signal.h,v 1.72 2017/04/21 15:10:35 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: siginfo.h,v 1.33.2.1 2019/10/15 18:32:13 martin Exp $
+
+// -
+// Copyright (c) 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: signal.h,v 1.12 2013/01/02 19:40:23 dsl Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991 Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 7.16 (Berkeley) 3/17/91
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+type Sig_atomic_t = int32 /* signal.h:41:13 */
+
+type X__greg_t = uint64 /* mcontext.h:46:23 */
+type X__gregset_t = [26]X__greg_t /* mcontext.h:47:18 */
+
+// These names are for compatibility
+
+// Floating point register state
+// The format of __fpregset_t is that of the fxsave instruction
+// which requires 16 byte alignment. However the mcontext version
+// is never directly accessed.
+type X__fpregset_t = [512]int8 /* mcontext.h:59:14 */
+
+type Mcontext_t = struct {
+ F__gregs X__gregset_t
+ F_mc_tlsbase X__greg_t
+ F__fpregs X__fpregset_t
+} /* mcontext.h:65:3 */
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+type Sigval = struct {
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
+} /* siginfo.h:41:9 */
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+type Sigval_t = Sigval /* siginfo.h:44:3 */
+
+type X_ksiginfo = struct {
+ F_signo int32
+ F_code int32
+ F_errno int32
+ F_pad int32
+ F_reason struct {
+ F_rt struct {
+ F_pid X__pid_t
+ F_uid X__uid_t
+ F_value Sigval_t
+ }
+ F__ccgo_pad1 [64]byte
+ }
+} /* siginfo.h:46:1 */
+
+type Siginfo = struct {
+ F__ccgo_pad1 [0]uint64
+ Fsi_pad [128]int8
+} /* siginfo.h:148:9 */
+
+type Siginfo_t = Siginfo /* siginfo.h:151:3 */
+
+//* Field access macros
+
+//* si_code
+// SIGILL
+
+// SIGFPE
+
+// SIGSEGV
+
+// SIGBUS
+
+// SIGTRAP
+
+// SIGCHLD
+// did not create a core file
+// created a core file
+
+// SIGIO
+
+//* si_code
+// set by timer_settime(2)
+// asynchronous I/O signal
+// an empty message queue
+
+// $NetBSD: ucontext.h,v 1.19 2018/02/27 23:09:02 uwe Exp $
+
+// -
+// Copyright (c) 1999, 2003 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein, and by Jason R. Thorpe.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// $NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $
+
+// -
+// Copyright (c) 1999 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__ucontext = struct {
+ Fuc_flags uint32
+ F__ccgo_pad1 [4]byte
+ Fuc_link uintptr
+ Fuc_sigmask Sigset_t
+ Fuc_stack Stack_t
+ Fuc_mcontext Mcontext_t
+} /* ucontext.h:38:9 */
+
+//* Field access macros
+
+//* si_code
+// SIGILL
+
+// SIGFPE
+
+// SIGSEGV
+
+// SIGBUS
+
+// SIGTRAP
+
+// SIGCHLD
+// did not create a core file
+// created a core file
+
+// SIGIO
+
+//* si_code
+// set by timer_settime(2)
+// asynchronous I/O signal
+// an empty message queue
+
+// $NetBSD: ucontext.h,v 1.19 2018/02/27 23:09:02 uwe Exp $
+
+// -
+// Copyright (c) 1999, 2003 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein, and by Jason R. Thorpe.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// $NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $
+
+// -
+// Copyright (c) 1999 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Ucontext_t = X__ucontext /* ucontext.h:38:27 */
+
+// uc_flags
+
+// if your port needs more MD bits, please try to choose bits from _UC_MD
+// first, rather than picking random unused bits.
+//
+// _UC_MD details
+//
+// _UC_TLSBASE Context contains valid pthread private pointer
+// All ports must define this MD flag
+// 0x00040000 hppa, mips
+// 0x00000020 alpha
+// 0x00080000 all other ports
+//
+// _UC_SETSTACK Context uses signal stack
+// 0x00020000 arm
+// [undefined] alpha, powerpc and vax
+// 0x00010000 other ports
+//
+// _UC_CLRSTACK Context does not use signal stack
+// 0x00040000 arm
+// [undefined] alpha, powerpc and vax
+// 0x00020000 other ports
+//
+// _UC_POWERPC_VEC Context contains valid AltiVec context
+// 0x00010000 powerpc only
+//
+// _UC_POWERPC_SPE Context contains valid SPE context
+// 0x00020000 powerpc only
+//
+// _UC_M68K_UC_USER Used by m68k machdep code, but undocumented
+// 0x40000000 m68k only
+//
+// _UC_ARM_VFP Unused
+// 0x00010000 arm only
+//
+// _UC_VM Context contains valid virtual 8086 context
+// 0x00040000 i386, amd64 only
+//
+// _UC_FXSAVE Context contains FPU context in that
+// is in FXSAVE format in XMM space
+// 0x00000020 i386, amd64 only
+
+// Signal vector "template" used in sigaction call.
+type Sigaction = struct {
+ F_sa_u struct{ F_sa_handler uintptr }
+ Fsa_mask Sigset_t
+ Fsa_flags int32
+ F__ccgo_pad1 [4]byte
+} /* signal.h:123:1 */
+
+// $NetBSD: signal.h,v 1.12 2013/01/02 19:40:23 dsl Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991 Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 7.16 (Berkeley) 3/17/91
+
+// Only valid for SIGCHLD.
+
+// Flags for sigprocmask():
+
+type Sig_t = uintptr /* signal.h:172:14 */ // type of signal function
+
+// Flags used with stack_t/struct sigaltstack.
+
+// Structure used in sigstack call.
+type Sigstack = struct {
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
+} /* signal.h:198:1 */
+
+// Macro for converting signal number to a mask suitable for
+// sigblock().
+
+type Sigevent = struct {
+ Fsigev_notify int32
+ Fsigev_signo int32
+ Fsigev_value struct {
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
+ }
+ Fsigev_notify_function uintptr
+ Fsigev_notify_attributes uintptr
+} /* signal.h:216:1 */
+
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Timespec = struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+} /* timespec.h:47:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/signal/signal_windows_386.go b/vendor/modernc.org/libc/signal/signal_windows_386.go
index 71eaf92c2..e14d880c8 100644
--- a/vendor/modernc.org/libc/signal/signal_windows_386.go
+++ b/vendor/modernc.org/libc/signal/signal_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_windows_386.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal/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 signal/signal_windows_386.go -pkgname signal', DO NOT EDIT.
package signal
@@ -32,9 +32,7 @@ const (
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
NSIG = 23
@@ -67,9 +65,12 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
@@ -138,6 +139,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -158,6 +164,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -198,26 +210,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -243,29 +257,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
//
// Copyright (c) 2013-2016 mingw-w64 project
diff --git a/vendor/modernc.org/libc/signal/signal_windows_amd64.go b/vendor/modernc.org/libc/signal/signal_windows_amd64.go
index 98c9f94f0..116bb2f14 100644
--- a/vendor/modernc.org/libc/signal/signal_windows_amd64.go
+++ b/vendor/modernc.org/libc/signal/signal_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_windows_amd64.go -pkgname signal', DO NOT EDIT.
+// Code generated by 'ccgo signal\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 signal\signal_windows_amd64.go -pkgname signal', DO NOT EDIT.
package signal
@@ -86,6 +86,7 @@ const (
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIG_ATOMIC_T_DEFINED = 0
diff --git a/vendor/modernc.org/libc/stdio/capi_darwin_amd64.go b/vendor/modernc.org/libc/stdio/capi_darwin_amd64.go
index eb99e9495..ad9b9cf1b 100644
--- a/vendor/modernc.org/libc/stdio/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/stdio/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_darwin_amd64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_darwin_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_darwin_arm64.go b/vendor/modernc.org/libc/stdio/capi_darwin_arm64.go
index 0234760ae..5c824d92b 100644
--- a/vendor/modernc.org/libc/stdio/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/stdio/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_darwin_arm64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_darwin_arm64.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_linux_386.go b/vendor/modernc.org/libc/stdio/capi_linux_386.go
index 9d7e252a0..e00b4c19d 100644
--- a/vendor/modernc.org/libc/stdio/capi_linux_386.go
+++ b/vendor/modernc.org/libc/stdio/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_386.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_386.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_linux_amd64.go b/vendor/modernc.org/libc/stdio/capi_linux_amd64.go
index 06ea5420c..c9969ca41 100644
--- a/vendor/modernc.org/libc/stdio/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/stdio/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_amd64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_linux_arm.go b/vendor/modernc.org/libc/stdio/capi_linux_arm.go
index 23e119ee8..91c7b0c97 100644
--- a/vendor/modernc.org/libc/stdio/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/stdio/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_arm.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_arm.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_linux_arm64.go b/vendor/modernc.org/libc/stdio/capi_linux_arm64.go
index ef31fea9d..9a47692a7 100644
--- a/vendor/modernc.org/libc/stdio/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/stdio/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_arm64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_arm64.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_linux_s390x.go b/vendor/modernc.org/libc/stdio/capi_linux_s390x.go
index 94ee1da95..43f05d4d4 100644
--- a/vendor/modernc.org/libc/stdio/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/stdio/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_s390x.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_s390x.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_netbsd_amd64.go b/vendor/modernc.org/libc/stdio/capi_netbsd_amd64.go
new file mode 100644
index 000000000..7ad0ba7d2
--- /dev/null
+++ b/vendor/modernc.org/libc/stdio/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdio/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 stdio/stdio_netbsd_amd64.go -pkgname stdio', DO NOT EDIT.
+
+package stdio
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdio/capi_windows_386.go b/vendor/modernc.org/libc/stdio/capi_windows_386.go
index 12c76cf0e..22f366ae8 100644
--- a/vendor/modernc.org/libc/stdio/capi_windows_386.go
+++ b/vendor/modernc.org/libc/stdio/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_windows_386.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_windows_386.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/capi_windows_amd64.go b/vendor/modernc.org/libc/stdio/capi_windows_amd64.go
index a75fdec08..f066e7771 100644
--- a/vendor/modernc.org/libc/stdio/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/stdio/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_windows_amd64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio\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 stdio\stdio_windows_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
diff --git a/vendor/modernc.org/libc/stdio/stdio_darwin_amd64.go b/vendor/modernc.org/libc/stdio/stdio_darwin_amd64.go
index 669d201fc..f09862604 100644
--- a/vendor/modernc.org/libc/stdio/stdio_darwin_amd64.go
+++ b/vendor/modernc.org/libc/stdio/stdio_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_darwin_amd64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_darwin_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -99,7 +99,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This had to be done to correct non-standard usages in the
// original, manufacturer supplied header file.
-// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+// Copyright (C) 1989-2021 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1014,8 +1014,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -1762,9 +1762,9 @@ type Fpos_t = X__darwin_off_t /* _stdio.h:81:25 */
// stdio buffers
type X__sbuf = struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
} /* _stdio.h:92:1 */
// stdio state variables.
@@ -1792,41 +1792,41 @@ type X__sbuf = struct {
//
// NB: see WARNING above before changing the layout of this structure!
type X__sFILE = struct {
- F_p uintptr
- F_r int32
- F_w int32
- F_flags int16
- F_file int16
- _ [4]byte
- F_bf struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_p uintptr
+ F_r int32
+ F_w int32
+ F_flags int16
+ F_file int16
+ F__ccgo_pad1 [4]byte
+ F_bf struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
- F_lbfsize int32
- _ [4]byte
- F_cookie uintptr
- F_close uintptr
- F_read uintptr
- F_seek uintptr
- F_write uintptr
- F_ub struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_lbfsize int32
+ F__ccgo_pad2 [4]byte
+ F_cookie uintptr
+ F_close uintptr
+ F_read uintptr
+ F_seek uintptr
+ F_write uintptr
+ F_ub struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
F_extra uintptr
F_ur int32
F_ubuf [3]uint8
F_nbuf [1]uint8
F_lb struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
- F_blksize int32
- _ [4]byte
- F_offset Fpos_t
+ F_blksize int32
+ F__ccgo_pad3 [4]byte
+ F_offset Fpos_t
} /* _stdio.h:126:9 */
// stdio state variables.
diff --git a/vendor/modernc.org/libc/stdio/stdio_darwin_arm64.go b/vendor/modernc.org/libc/stdio/stdio_darwin_arm64.go
index 640117d0c..f06ef21c3 100644
--- a/vendor/modernc.org/libc/stdio/stdio_darwin_arm64.go
+++ b/vendor/modernc.org/libc/stdio/stdio_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_darwin_arm64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_darwin_arm64.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -134,7 +134,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// This had to be done to correct non-standard usages in the
// original, manufacturer supplied header file.
-// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+// Copyright (C) 1989-2021 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -838,7 +838,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -1752,9 +1752,9 @@ type Fpos_t = X__darwin_off_t /* _stdio.h:81:25 */
// stdio buffers
type X__sbuf = struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
} /* _stdio.h:92:1 */
// stdio state variables.
@@ -1782,41 +1782,41 @@ type X__sbuf = struct {
//
// NB: see WARNING above before changing the layout of this structure!
type X__sFILE = struct {
- F_p uintptr
- F_r int32
- F_w int32
- F_flags int16
- F_file int16
- _ [4]byte
- F_bf struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_p uintptr
+ F_r int32
+ F_w int32
+ F_flags int16
+ F_file int16
+ F__ccgo_pad1 [4]byte
+ F_bf struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
- F_lbfsize int32
- _ [4]byte
- F_cookie uintptr
- F_close uintptr
- F_read uintptr
- F_seek uintptr
- F_write uintptr
- F_ub struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_lbfsize int32
+ F__ccgo_pad2 [4]byte
+ F_cookie uintptr
+ F_close uintptr
+ F_read uintptr
+ F_seek uintptr
+ F_write uintptr
+ F_ub struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
F_extra uintptr
F_ur int32
F_ubuf [3]uint8
F_nbuf [1]uint8
F_lb struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
- F_blksize int32
- _ [4]byte
- F_offset Fpos_t
+ F_blksize int32
+ F__ccgo_pad3 [4]byte
+ F_offset Fpos_t
} /* _stdio.h:126:9 */
// stdio state variables.
diff --git a/vendor/modernc.org/libc/stdio/stdio_freebsd_amd64.go b/vendor/modernc.org/libc/stdio/stdio_freebsd_amd64.go
index 6d9e0bc68..b34694044 100644
--- a/vendor/modernc.org/libc/stdio/stdio_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/stdio/stdio_freebsd_amd64.go
@@ -637,8 +637,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -669,9 +669,9 @@ type Va_list = X__va_list /* stdio.h:77:19 */
// stdio buffers
type X__sbuf = struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
} /* stdio.h:91:1 */
// stdio state variables.
@@ -701,40 +701,40 @@ type X__sbuf = struct {
// inline functions. To preserve ABI compat, these members must not
// be disturbed. These members are marked below with (*).
type X__sFILE = struct {
- F_p uintptr
- F_r int32
- F_w int32
- F_flags int16
- F_file int16
- _ [4]byte
- F_bf struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_p uintptr
+ F_r int32
+ F_w int32
+ F_flags int16
+ F_file int16
+ F__ccgo_pad1 [4]byte
+ F_bf struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
- F_lbfsize int32
- _ [4]byte
- F_cookie uintptr
- F_close uintptr
- F_read uintptr
- F_seek uintptr
- F_write uintptr
- F_ub struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_lbfsize int32
+ F__ccgo_pad2 [4]byte
+ F_cookie uintptr
+ F_close uintptr
+ F_read uintptr
+ F_seek uintptr
+ F_write uintptr
+ F_ub struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
F_up uintptr
F_ur int32
F_ubuf [3]uint8
F_nbuf [1]uint8
F_lb struct {
- F_base uintptr
- F_size int32
- _ [4]byte
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
}
F_blksize int32
- _ [4]byte
+ F__ccgo_pad3 [4]byte
F_offset Fpos_t
F_fl_mutex uintptr
F_fl_owner uintptr
@@ -742,7 +742,7 @@ type X__sFILE = struct {
F_orientation int32
F_mbstate X__mbstate_t
F_flags2 int32
- _ [4]byte
+ F__ccgo_pad4 [4]byte
} /* stdio.h:124:1 */
type FILE = X__sFILE /* stdio.h:165:24 */
diff --git a/vendor/modernc.org/libc/stdio/stdio_linux_386.go b/vendor/modernc.org/libc/stdio/stdio_linux_386.go
index 927db1216..3870fee0c 100644
--- a/vendor/modernc.org/libc/stdio/stdio_linux_386.go
+++ b/vendor/modernc.org/libc/stdio/stdio_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_386.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_386.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -28,6 +28,7 @@ const (
TMP_MAX = 238328
X_ATFILE_SOURCE = 1
X_BITS_STDIO_LIM_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -36,6 +37,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_IOFBF = 0
X_IOLBF = 1
X_IONBF = 2
@@ -79,14 +81,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -119,7 +116,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// if this invocation was from the user program.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -134,11 +131,11 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -153,43 +150,63 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -201,7 +218,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -223,7 +240,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -238,7 +255,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -247,79 +264,106 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -334,7 +378,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -363,7 +407,7 @@ type X_G_fpos_t = struct {
type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -378,7 +422,7 @@ type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -391,7 +435,7 @@ type X_G_fpos64_t = struct {
} /* __fpos64_t.h:10:9 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -406,7 +450,7 @@ type X_G_fpos64_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
diff --git a/vendor/modernc.org/libc/stdio/stdio_linux_amd64.go b/vendor/modernc.org/libc/stdio/stdio_linux_amd64.go
index 46bd5699e..e38676fe6 100644
--- a/vendor/modernc.org/libc/stdio/stdio_linux_amd64.go
+++ b/vendor/modernc.org/libc/stdio/stdio_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_amd64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -28,6 +28,7 @@ const (
TMP_MAX = 238328
X_ATFILE_SOURCE = 1
X_BITS_STDIO_LIM_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -88,14 +89,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -128,7 +124,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// if this invocation was from the user program.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -143,11 +139,11 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -162,45 +158,64 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -212,7 +227,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -233,7 +248,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -248,7 +263,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -263,81 +278,109 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -352,7 +395,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -381,7 +424,7 @@ type X_G_fpos_t = struct {
type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -396,7 +439,7 @@ type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -409,7 +452,7 @@ type X_G_fpos64_t = struct {
} /* __fpos64_t.h:10:9 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -424,7 +467,7 @@ type X_G_fpos64_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -435,7 +478,7 @@ type X__fpos64_t = X_G_fpos64_t /* __fpos64_t.h:14:3 */
type X_IO_FILE = struct {
F_flags int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F_IO_read_ptr uintptr
F_IO_read_end uintptr
F_IO_read_base uintptr
@@ -455,7 +498,7 @@ type X_IO_FILE = struct {
F_cur_column uint16
F_vtable_offset int8
F_shortbuf [1]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
F_lock uintptr
F_offset X__off64_t
F_codecvt uintptr
diff --git a/vendor/modernc.org/libc/stdio/stdio_linux_arm.go b/vendor/modernc.org/libc/stdio/stdio_linux_arm.go
index bf9298782..04e22d914 100644
--- a/vendor/modernc.org/libc/stdio/stdio_linux_arm.go
+++ b/vendor/modernc.org/libc/stdio/stdio_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_arm.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_arm.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -28,6 +28,7 @@ const (
TMP_MAX = 238328
X_ATFILE_SOURCE = 1
X_BITS_STDIO_LIM_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -78,14 +79,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -118,7 +114,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// if this invocation was from the user program.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -133,11 +129,28 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -152,9 +165,10 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -169,41 +183,60 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -215,7 +248,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -237,7 +270,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -252,86 +285,113 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -346,7 +406,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -375,7 +435,7 @@ type X_G_fpos_t = struct {
type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -390,7 +450,7 @@ type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -403,7 +463,7 @@ type X_G_fpos64_t = struct {
} /* __fpos64_t.h:10:9 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -418,7 +478,7 @@ type X_G_fpos64_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -447,9 +507,9 @@ type X_IO_FILE = struct {
F_old_offset X__off_t
F_cur_column uint16
F_vtable_offset int8
- F_shortbuf [1]int8
+ F_shortbuf [1]uint8
F_lock uintptr
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F_offset X__off64_t
F_codecvt uintptr
F_wide_data uintptr
@@ -457,7 +517,7 @@ type X_IO_FILE = struct {
F_freeres_buf uintptr
F__pad5 Size_t
F_mode int32
- F_unused2 [40]int8
+ F_unused2 [40]uint8
} /* __FILE.h:4:1 */
type X__FILE = X_IO_FILE /* __FILE.h:5:25 */
@@ -481,4 +541,4 @@ type Fpos_t = X__fpos64_t /* stdio.h:86:20 */
// If we are compiling with optimizing read this file. It contains
// several optimizing inline functions and macros.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdio/stdio_linux_arm64.go b/vendor/modernc.org/libc/stdio/stdio_linux_arm64.go
index 33edd7645..e4cc28cd9 100644
--- a/vendor/modernc.org/libc/stdio/stdio_linux_arm64.go
+++ b/vendor/modernc.org/libc/stdio/stdio_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_arm64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_arm64.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -28,6 +28,7 @@ const (
TMP_MAX = 238328
X_ATFILE_SOURCE = 1
X_BITS_STDIO_LIM_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -88,14 +89,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -128,7 +124,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// if this invocation was from the user program.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -143,11 +139,11 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -162,11 +158,11 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -181,41 +177,80 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -227,7 +262,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -248,7 +283,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -264,7 +299,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -277,81 +312,108 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -366,7 +428,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -395,7 +457,7 @@ type X_G_fpos_t = struct {
type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -410,7 +472,7 @@ type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -423,7 +485,7 @@ type X_G_fpos64_t = struct {
} /* __fpos64_t.h:10:9 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -438,7 +500,7 @@ type X_G_fpos64_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -449,7 +511,7 @@ type X__fpos64_t = X_G_fpos64_t /* __fpos64_t.h:14:3 */
type X_IO_FILE = struct {
F_flags int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F_IO_read_ptr uintptr
F_IO_read_end uintptr
F_IO_read_base uintptr
@@ -468,8 +530,8 @@ type X_IO_FILE = struct {
F_old_offset X__off_t
F_cur_column uint16
F_vtable_offset int8
- F_shortbuf [1]int8
- _ [4]byte
+ F_shortbuf [1]uint8
+ F__ccgo_pad2 [4]byte
F_lock uintptr
F_offset X__off64_t
F_codecvt uintptr
@@ -478,7 +540,7 @@ type X_IO_FILE = struct {
F_freeres_buf uintptr
F__pad5 Size_t
F_mode int32
- F_unused2 [20]int8
+ F_unused2 [20]uint8
} /* __FILE.h:4:1 */
type X__FILE = X_IO_FILE /* __FILE.h:5:25 */
@@ -502,4 +564,4 @@ type Fpos_t = X__fpos64_t /* stdio.h:86:20 */
// If we are compiling with optimizing read this file. It contains
// several optimizing inline functions and macros.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdio/stdio_linux_s390x.go b/vendor/modernc.org/libc/stdio/stdio_linux_s390x.go
index b3c1828f1..5b2b70acb 100644
--- a/vendor/modernc.org/libc/stdio/stdio_linux_s390x.go
+++ b/vendor/modernc.org/libc/stdio/stdio_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_linux_s390x.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_linux_s390x.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -28,6 +28,7 @@ const (
TMP_MAX = 238328
X_ATFILE_SOURCE = 1
X_BITS_STDIO_LIM_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -88,14 +89,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -128,7 +124,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// if this invocation was from the user program.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -143,11 +139,31 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -162,43 +178,45 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -210,7 +228,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -231,7 +249,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -246,7 +264,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -261,81 +279,109 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -350,7 +396,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -379,7 +425,7 @@ type X_G_fpos_t = struct {
type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -394,7 +440,7 @@ type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -407,7 +453,7 @@ type X_G_fpos64_t = struct {
} /* __fpos64_t.h:10:9 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -422,7 +468,7 @@ type X_G_fpos64_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -433,7 +479,7 @@ type X__fpos64_t = X_G_fpos64_t /* __fpos64_t.h:14:3 */
type X_IO_FILE = struct {
F_flags int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
F_IO_read_ptr uintptr
F_IO_read_end uintptr
F_IO_read_base uintptr
@@ -452,8 +498,8 @@ type X_IO_FILE = struct {
F_old_offset X__off_t
F_cur_column uint16
F_vtable_offset int8
- F_shortbuf [1]int8
- _ [4]byte
+ F_shortbuf [1]uint8
+ F__ccgo_pad2 [4]byte
F_lock uintptr
F_offset X__off64_t
F_codecvt uintptr
@@ -462,7 +508,7 @@ type X_IO_FILE = struct {
F_freeres_buf uintptr
F__pad5 Size_t
F_mode int32
- F_unused2 [20]int8
+ F_unused2 [20]uint8
} /* __FILE.h:4:1 */
type X__FILE = X_IO_FILE /* __FILE.h:5:25 */
@@ -486,4 +532,4 @@ type Fpos_t = X__fpos64_t /* stdio.h:86:20 */
// If we are compiling with optimizing read this file. It contains
// several optimizing inline functions and macros.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdio/stdio_netbsd_amd64.go b/vendor/modernc.org/libc/stdio/stdio_netbsd_amd64.go
new file mode 100644
index 000000000..e087ea402
--- /dev/null
+++ b/vendor/modernc.org/libc/stdio/stdio_netbsd_amd64.go
@@ -0,0 +1,466 @@
+// Code generated by 'ccgo stdio/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 stdio/stdio_netbsd_amd64.go -pkgname stdio', DO NOT EDIT.
+
+package stdio
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BUFSIZ = 1024
+ EOF = -1
+ FILENAME_MAX = 1024
+ FOPEN_MAX = 20
+ FPARSELN_UNESCALL = 0x0f
+ FPARSELN_UNESCCOMM = 0x04
+ FPARSELN_UNESCCONT = 0x02
+ FPARSELN_UNESCESC = 0x01
+ FPARSELN_UNESCREST = 0x08
+ L_ctermid = 1024
+ L_cuserid = 9
+ L_tmpnam = 1024
+ P_tmpdir = "/tmp/"
+ SEEK_CUR = 1
+ SEEK_END = 2
+ SEEK_SET = 0
+ TMP_MAX = 308915776
+ X_AMD64_INT_TYPES_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FSTDIO = 0
+ X_IOFBF = 0
+ X_IOLBF = 1
+ X_IONBF = 2
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_STDIO_H_ = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+type Ssize_t = int64 /* stdio.h:49:23 */
+
+// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
+// Public domain.
+
+// This is fairly grotesque, but pure ANSI code must not inspect the
+// innards of an fpos_t anyway. The library internally uses off_t,
+// which we assume is exactly as big as eight chars.
+type X__sfpos = struct {
+ F_pos X__off_t
+ F_mbstate_in X__mbstate_t
+ F_mbstate_out X__mbstate_t
+} /* stdio.h:67:9 */
+
+// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
+// Public domain.
+
+// This is fairly grotesque, but pure ANSI code must not inspect the
+// innards of an fpos_t anyway. The library internally uses off_t,
+// which we assume is exactly as big as eight chars.
+type Fpos_t = X__sfpos /* stdio.h:70:3 */
+
+// NB: to fit things in six character monocase externals, the stdio
+// code uses the prefix `__s' for stdio objects, typically followed
+// by a three-character attempt at a mnemonic.
+
+// stdio buffers
+type X__sbuf = struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
+} /* stdio.h:81:1 */
+
+// stdio state variables.
+//
+// The following always hold:
+//
+// if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
+// _lbfsize is -_bf._size, else _lbfsize is 0
+// if _flags&__SRD, _w is 0
+// if _flags&__SWR, _r is 0
+//
+// This ensures that the getc and putc macros (or inline functions) never
+// try to write or read from a file that is in `read' or `write' mode.
+// (Moreover, they can, and do, automatically switch from read mode to
+// write mode, and back, on "r+" and "w+" files.)
+//
+// _lbfsize is used only to make the inline line-buffered output stream
+// code as compact as possible.
+//
+// _ub, _up, and _ur are used when ungetc() pushes back more characters
+// than fit in the current _bf, or when ungetc() pushes back a character
+// that does not match the previous one in _bf. When this happens,
+// _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
+// _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
+//
+// NB: see WARNING above before changing the layout of this structure!
+type X__sFILE = struct {
+ F_p uintptr
+ F_r int32
+ F_w int32
+ F_flags uint16
+ F_file int16
+ F__ccgo_pad1 [4]byte
+ F_bf struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
+ }
+ F_lbfsize int32
+ F__ccgo_pad2 [4]byte
+ F_cookie uintptr
+ F_close uintptr
+ F_read uintptr
+ F_seek uintptr
+ F_write uintptr
+ F_ext struct {
+ F_base uintptr
+ F_size int32
+ F__ccgo_pad1 [4]byte
+ }
+ F_up uintptr
+ F_ur int32
+ F_ubuf [3]uint8
+ F_nbuf [1]uint8
+ F_flush uintptr
+ F_lb_unused [8]int8
+ F_blksize int32
+ F__ccgo_pad3 [4]byte
+ F_offset X__off_t
+} /* stdio.h:112:9 */
+
+// stdio state variables.
+//
+// The following always hold:
+//
+// if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
+// _lbfsize is -_bf._size, else _lbfsize is 0
+// if _flags&__SRD, _w is 0
+// if _flags&__SWR, _r is 0
+//
+// This ensures that the getc and putc macros (or inline functions) never
+// try to write or read from a file that is in `read' or `write' mode.
+// (Moreover, they can, and do, automatically switch from read mode to
+// write mode, and back, on "r+" and "w+" files.)
+//
+// _lbfsize is used only to make the inline line-buffered output stream
+// code as compact as possible.
+//
+// _ub, _up, and _ur are used when ungetc() pushes back more characters
+// than fit in the current _bf, or when ungetc() pushes back a character
+// that does not match the previous one in _bf. When this happens,
+// _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
+// _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
+//
+// NB: see WARNING above before changing the layout of this structure!
+type FILE = X__sFILE /* stdio.h:146:3 */
+
+// X/Open CAE Specification Issue 5 Version 2
+type Off_t = X__off_t /* stdio.h:376:18 */
+
+type Locale_t = uintptr /* stdio.h:543:25 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdio/stdio_windows_386.go b/vendor/modernc.org/libc/stdio/stdio_windows_386.go
index e351756b8..5adf00fa9 100644
--- a/vendor/modernc.org/libc/stdio/stdio_windows_386.go
+++ b/vendor/modernc.org/libc/stdio/stdio_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_windows_386.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio/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 stdio/stdio_windows_386.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -13,3 +13,350 @@ var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
+
+const (
+ BUFSIZ = 512
+ 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
+ EOF = -1
+ FILENAME_MAX = 260
+ FOPEN_MAX = 20
+ MINGW_DDK_H = 0
+ MINGW_HAS_DDK_H = 1
+ MINGW_HAS_SECURE_API = 1
+ MINGW_SDK_INIT = 0
+ SEEK_CUR = 1
+ SEEK_END = 2
+ SEEK_SET = 0
+ STDERR_FILENO = 2
+ STDIN_FILENO = 0
+ STDOUT_FILENO = 1
+ SYS_OPEN = 20
+ TMP_MAX = 32767
+ TMP_MAX_S = 32767
+ UNALIGNED = 0
+ USE___UUIDOF = 0
+ WIN32 = 1
+ WINNT = 1
+ X_AGLOBAL = 0
+ X_ANONYMOUS_STRUCT = 0
+ X_ANONYMOUS_UNION = 0
+ X_ARGMAX = 100
+ X_CONST_RETURN = 0
+ X_CRTNOALIAS = 0
+ X_CRTRESTRICT = 0
+ X_CRT_ALTERNATIVE_IMPORTED = 0
+ X_CRT_DIRECTORY_DEFINED = 0
+ X_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS = 4
+ X_CRT_INTERNAL_LOCAL_SCANF_OPTIONS = 2
+ X_CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY = 0x0008
+ X_CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS = 0x0010
+ X_CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION = 0x0001
+ X_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS = 0x0004
+ X_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR = 0x0002
+ X_CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY = 0x0004
+ X_CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS = 0x0002
+ X_CRT_INTERNAL_SCANF_SECURECRT = 0x0001
+ X_CRT_MANAGED_HEAP_DEPRECATE = 0
+ X_CRT_PACKING = 8
+ X_CRT_PERROR_DEFINED = 0
+ 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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
+ X_CRT_WPERROR_DEFINED = 0
+ X_DLL = 0
+ X_ERRCODE_DEFINED = 0
+ X_FILE_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FILE_OFFSET_BITS_SET_FSEEKO = 0
+ X_FILE_OFFSET_BITS_SET_FTELLO = 0
+ X_FILE_OFFSET_BITS_SET_OFFT = 0
+ X_FPOS_T_DEFINED = 0
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
+ X_INC_CRTDEFS_MACRO = 0
+ X_INC_MINGW_SECAPI = 0
+ X_INC_STDIO = 0
+ X_INC_STDIO_S = 0
+ X_INC_SWPRINTF_INL = 0
+ X_INC_VADEFS = 0
+ X_INC__MINGW_H = 0
+ X_INT128_DEFINED = 0
+ X_INTEGRAL_MAX_BITS = 64
+ X_INTPTR_T_DEFINED = 0
+ X_IOB_ENTRIES = 20
+ X_IOEOF = 0x0010
+ X_IOERR = 0x0020
+ X_IOFBF = 0x0000
+ X_IOLBF = 0x0040
+ X_IOMYBUF = 0x0008
+ X_IONBF = 0x0004
+ X_IOREAD = 0x0001
+ X_IORW = 0x0080
+ X_IOSTRG = 0x0040
+ X_IOWRT = 0x0002
+ X_MT = 0
+ X_M_IX86 = 600
+ X_NFILE = 512
+ X_NSTREAM_ = 512
+ X_OFF64_T_DEFINED = 0
+ X_OFF_T_ = 0
+ X_OFF_T_DEFINED = 0
+ X_OLD_P_OVERLAY = 2
+ X_PGLOBAL = 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_P_tmpdir = "\\"
+ X_RSIZE_T_DEFINED = 0
+ X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
+ X_SIZE_T_DEFINED = 0
+ X_SPAWNV_DEFINED = 0
+ X_SSIZE_T_DEFINED = 0
+ X_STDIO_CONFIG_DEFINED = 0
+ X_STDIO_DEFINED = 0
+ X_STDIO_S_DEFINED = 0
+ X_STDSTREAM_DEFINED = 0
+ X_SYS_OPEN = 20
+ X_TAGLC_ID_DEFINED = 0
+ X_THREADLOCALEINFO = 0
+ X_TIME32_T_DEFINED = 0
+ X_TIME64_T_DEFINED = 0
+ X_TIME_T_DEFINED = 0
+ X_TWO_DIGIT_EXPONENT = 0x1
+ X_UINTPTR_T_DEFINED = 0
+ X_USE_32BIT_TIME_T = 0
+ X_VA_LIST_DEFINED = 0
+ X_W64 = 0
+ X_WAIT_CHILD = 0
+ X_WAIT_GRANDCHILD = 1
+ X_WCHAR_T_DEFINED = 0
+ X_WCTYPE_T_DEFINED = 0
+ X_WIN32 = 1
+ X_WIN32_WINNT = 0x502
+ X_WINT_T = 0
+ X_WSPAWN_DEFINED = 0
+ X_WSTDIO_DEFINED = 0
+ X_WSTDIO_S_DEFINED = 0
+ X_X86_ = 1
+ I386 = 1
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint16 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+type Va_list = X__builtin_va_list /* <builtin>:50:27 */
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the Wine project.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+// a specific fix/patch is present on trunk. This value isn't related to
+// minor/major version-macros. It is increased on demand, if a big
+// fix was applied to trunk. This macro gets just increased on trunk. For
+// other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+// and the __mingwthr_key_dtor() function from the MinGW
+// CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// For x86 we have always to prefix by underscore.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+// So we add some helper macros to ease recognition of them.
+
+// 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.
+
+// *
+// 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 = int32 /* corecrt.h:52:13 */
+
+type Rsize_t = Size_t /* corecrt.h:57:16 */
+
+type Intptr_t = int32 /* corecrt.h:69:13 */
+
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
+
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
+
+type Errno_t = int32 /* corecrt.h:118:13 */
+
+type X__time32_t = int32 /* corecrt.h:123:14 */
+
+type X__time64_t = int64 /* corecrt.h:128:35 */
+
+type Time_t = X__time32_t /* corecrt.h:141:20 */
+
+type Threadlocaleinfostruct = struct {
+ Frefcount int32
+ Flc_codepage uint32
+ Flc_collate_cp uint32
+ Flc_handle [6]uint32
+ Flc_id [6]LC_ID
+ Flc_category [6]struct {
+ Flocale uintptr
+ Fwlocale uintptr
+ Frefcount uintptr
+ Fwrefcount uintptr
+ }
+ Flc_clike int32
+ Fmb_cur_max int32
+ Flconv_intl_refcount uintptr
+ Flconv_num_refcount uintptr
+ Flconv_mon_refcount uintptr
+ Flconv uintptr
+ Fctype1_refcount uintptr
+ Fctype1 uintptr
+ Fpctype uintptr
+ Fpclmap uintptr
+ Fpcumap uintptr
+ Flc_time_curr uintptr
+} /* corecrt.h:435:1 */
+
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
+
+type Localeinfo_struct = struct {
+ Flocinfo Pthreadlocinfo
+ Fmbcinfo Pthreadmbcinfo
+} /* corecrt.h:441:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
+
+type TagLC_ID = struct {
+ FwLanguage uint16
+ FwCountry uint16
+ FwCodePage uint16
+} /* corecrt.h:435:1 */
+
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
+
+type X_iobuf = struct {
+ F_ptr uintptr
+ F_cnt int32
+ F_base uintptr
+ F_flag int32
+ F_file int32
+ F_charbuf int32
+ F_bufsiz int32
+ F_tmpfname uintptr
+} /* stdio.h:24:3 */
+
+type FILE = X_iobuf /* stdio.h:34:25 */
+
+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 */ // A pointer to an array of FILE
+
+type Fpos_t = int64 /* stdio.h:102:37 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdio/stdio_windows_amd64.go b/vendor/modernc.org/libc/stdio/stdio_windows_amd64.go
index 609da5204..a23a573d4 100644
--- a/vendor/modernc.org/libc/stdio/stdio_windows_amd64.go
+++ b/vendor/modernc.org/libc/stdio/stdio_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_windows_amd64.go -pkgname stdio', DO NOT EDIT.
+// Code generated by 'ccgo stdio\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 stdio\stdio_windows_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
@@ -13,3 +13,353 @@ var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
+
+const (
+ BUFSIZ = 512
+ 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
+ EOF = -1
+ FILENAME_MAX = 260
+ FOPEN_MAX = 20
+ MINGW_DDK_H = 0
+ MINGW_DDRAW_VERSION = 7
+ MINGW_HAS_DDK_H = 1
+ MINGW_HAS_DDRAW_H = 1
+ MINGW_HAS_SECURE_API = 1
+ MINGW_SDK_INIT = 0
+ SEEK_CUR = 1
+ SEEK_END = 2
+ SEEK_SET = 0
+ STDERR_FILENO = 2
+ STDIN_FILENO = 0
+ STDOUT_FILENO = 1
+ SYS_OPEN = 20
+ TMP_MAX = 32767
+ UNALIGNED = 0
+ USE___UUIDOF = 0
+ WIN32 = 1
+ WIN64 = 1
+ WINNT = 1
+ X_AGLOBAL = 0
+ X_ANONYMOUS_STRUCT = 0
+ X_ANONYMOUS_UNION = 0
+ X_ARGMAX = 100
+ X_CONST_RETURN = 0
+ X_CRTNOALIAS = 0
+ X_CRTRESTRICT = 0
+ X_CRT_ALTERNATIVE_IMPORTED = 0
+ X_CRT_DIRECTORY_DEFINED = 0
+ X_CRT_MANAGED_HEAP_DEPRECATE = 0
+ X_CRT_PACKING = 8
+ X_CRT_PERROR_DEFINED = 0
+ 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_WPERROR_DEFINED = 0
+ X_DLL = 0
+ X_ERRCODE_DEFINED = 0
+ X_FILE_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FILE_OFFSET_BITS_SET_FSEEKO = 0
+ X_FILE_OFFSET_BITS_SET_FTELLO = 0
+ X_FILE_OFFSET_BITS_SET_OFFT = 0
+ X_FPOS_T_DEFINED = 0
+ X_INC_CRTDEFS = 0
+ X_INC_CRTDEFS_MACRO = 0
+ X_INC_MINGW_SECAPI = 0
+ X_INC_STDIO = 0
+ X_INC_STDIO_S = 0
+ X_INC_SWPRINTF_INL = 0
+ X_INC_VADEFS = 0
+ X_INC__MINGW_H = 0
+ X_INT128_DEFINED = 0
+ X_INTEGRAL_MAX_BITS = 64
+ X_INTPTR_T_DEFINED = 0
+ X_IOB_ENTRIES = 20
+ X_IOEOF = 0x0010
+ X_IOERR = 0x0020
+ X_IOFBF = 0x0000
+ X_IOLBF = 0x0040
+ X_IOMYBUF = 0x0008
+ X_IONBF = 0x0004
+ X_IOREAD = 0x0001
+ X_IORW = 0x0080
+ X_IOSTRG = 0x0040
+ X_IOWRT = 0x0002
+ X_MT = 0
+ X_M_AMD64 = 100
+ X_M_X64 = 100
+ X_NFILE = 512
+ X_NSTREAM_ = 512
+ X_OFF64_T_DEFINED = 0
+ X_OFF_T_ = 0
+ X_OFF_T_DEFINED = 0
+ X_OLD_P_OVERLAY = 2
+ X_PGLOBAL = 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_P_tmpdir = "\\"
+ X_REENTRANT = 1
+ X_RSIZE_T_DEFINED = 0
+ X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
+ X_SIZE_T_DEFINED = 0
+ X_SPAWNV_DEFINED = 0
+ X_SSIZE_T_DEFINED = 0
+ X_STDIO_DEFINED = 0
+ X_STDIO_S_DEFINED = 0
+ X_STDSTREAM_DEFINED = 0
+ X_SYS_OPEN = 20
+ X_TAGLC_ID_DEFINED = 0
+ X_THREADLOCALEINFO = 0
+ X_TIME32_T_DEFINED = 0
+ X_TIME64_T_DEFINED = 0
+ X_TIME_T_DEFINED = 0
+ X_TWO_DIGIT_EXPONENT = 0x1
+ X_UINTPTR_T_DEFINED = 0
+ X_VA_LIST_DEFINED = 0
+ X_W64 = 0
+ X_WAIT_CHILD = 0
+ X_WAIT_GRANDCHILD = 1
+ X_WCHAR_T_DEFINED = 0
+ X_WCTYPE_T_DEFINED = 0
+ X_WIN32 = 1
+ X_WIN32_WINNT = 0x502
+ X_WIN64 = 1
+ X_WINT_T = 0
+ X_WSPAWN_DEFINED = 0
+ X_WSTDIO_DEFINED = 0
+ X_WSTDIO_S_DEFINED = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = uint16 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+type Va_list = X__builtin_va_list /* <builtin>:50:27 */
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+// a specific fix/patch is present on trunk. This value isn't related to
+// minor/major version-macros. It is increased on demand, if a big
+// fix was applied to trunk. This macro gets just increased on trunk. For
+// other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+// and the __mingwthr_key_dtor() function from the MinGW
+// CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// MS does not prefix symbols by underscores for 64-bit.
+// As we have to support older gcc version, which are using underscores
+// as symbol prefix for x64, we have to check here for the user label
+// prefix defined by gcc.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+// So we add some helper macros to ease recognition of them.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
+// Templates won't work in C, will break if secure API is not enabled, disabled
+
+// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
+// fallback on default implementation if we can't know the size of the destination
+
+// Include _cygwin.h if we're building a Cygwin application.
+
+// Target specific macro replacement for type "long". In the Windows API,
+// the type long is always 32 bit, even if the target is 64 bit (LLP64).
+// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
+// sized definitions and declarations, all usage of type long in the Windows
+// headers have to be replaced by the below defined macro __LONG32.
+
+// C/C++ specific language defines.
+
+// Note the extern. This is needed to work around GCC's
+// limitations in handling dllimport attribute.
+
+// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
+// variadiac macro facility, because variadic macros cause syntax
+// errors with --traditional-cpp.
+
+// High byte is the major version, low byte is the minor.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
+
+type Ssize_t = int64 /* crtdefs.h:45:35 */
+
+type Rsize_t = Size_t /* crtdefs.h:52:16 */
+
+type Intptr_t = int64 /* crtdefs.h:62:35 */
+
+type Uintptr_t = uint64 /* crtdefs.h:75:44 */
+
+type Wint_t = uint16 /* crtdefs.h:106:24 */
+type Wctype_t = uint16 /* crtdefs.h:107:24 */
+
+type Errno_t = int32 /* crtdefs.h:113:13 */
+
+type X__time32_t = int32 /* crtdefs.h:118:14 */
+
+type X__time64_t = int64 /* crtdefs.h:123:35 */
+
+type Time_t = X__time64_t /* crtdefs.h:138:20 */
+
+type Threadlocaleinfostruct = struct {
+ Frefcount int32
+ Flc_codepage uint32
+ Flc_collate_cp uint32
+ Flc_handle [6]uint32
+ Flc_id [6]LC_ID
+ Flc_category [6]struct {
+ Flocale uintptr
+ Fwlocale uintptr
+ Frefcount uintptr
+ Fwrefcount uintptr
+ }
+ Flc_clike int32
+ Fmb_cur_max int32
+ Flconv_intl_refcount uintptr
+ Flconv_num_refcount uintptr
+ Flconv_mon_refcount uintptr
+ Flconv uintptr
+ Fctype1_refcount uintptr
+ Fctype1 uintptr
+ Fpctype uintptr
+ Fpclmap uintptr
+ Fpcumap uintptr
+ Flc_time_curr uintptr
+} /* crtdefs.h:422:1 */
+
+type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
+type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+
+type Localeinfo_struct = struct {
+ Flocinfo Pthreadlocinfo
+ Fmbcinfo Pthreadmbcinfo
+} /* crtdefs.h:428:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
+type X_locale_t = uintptr /* crtdefs.h:431:19 */
+
+type TagLC_ID = struct {
+ FwLanguage uint16
+ FwCountry uint16
+ FwCodePage uint16
+} /* crtdefs.h:422:1 */
+
+type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
+type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+
+// *
+// 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.
+
+// Undefine __mingw_<printf> macros.
+
+type X_iobuf = struct {
+ F_ptr uintptr
+ F_cnt int32
+ F__ccgo_pad1 [4]byte
+ F_base uintptr
+ F_flag int32
+ F_file int32
+ F_charbuf int32
+ F_bufsiz int32
+ F_tmpfname uintptr
+} /* stdio.h:26:3 */
+
+type FILE = X_iobuf /* stdio.h:36:25 */
+
+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 Fpos_t = int64 /* stdio.h:104:37 */
+
+// *
+// 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.
+
+// Define __mingw_<printf> macros.
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/capi_darwin_amd64.go b/vendor/modernc.org/libc/stdlib/capi_darwin_amd64.go
new file mode 100644
index 000000000..f55932f12
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_darwin_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_darwin_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_darwin_arm64.go b/vendor/modernc.org/libc/stdlib/capi_darwin_arm64.go
new file mode 100644
index 000000000..7c81426af
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_darwin_arm64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_darwin_arm64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_freebsd_amd64.go b/vendor/modernc.org/libc/stdlib/capi_freebsd_amd64.go
new file mode 100644
index 000000000..fd09e961c
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_freebsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_freebsd_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_linux_386.go b/vendor/modernc.org/libc/stdlib/capi_linux_386.go
new file mode 100644
index 000000000..17bd8d78f
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_linux_386.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_386.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_linux_amd64.go b/vendor/modernc.org/libc/stdlib/capi_linux_amd64.go
new file mode 100644
index 000000000..2c2233b1b
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_linux_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_linux_arm.go b/vendor/modernc.org/libc/stdlib/capi_linux_arm.go
new file mode 100644
index 000000000..2903e3fe2
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_linux_arm.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_arm.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_linux_arm64.go b/vendor/modernc.org/libc/stdlib/capi_linux_arm64.go
new file mode 100644
index 000000000..249f561e4
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_linux_arm64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_arm64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_linux_s390x.go b/vendor/modernc.org/libc/stdlib/capi_linux_s390x.go
new file mode 100644
index 000000000..732e96e74
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_linux_s390x.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_s390x.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_netbsd_amd64.go b/vendor/modernc.org/libc/stdlib/capi_netbsd_amd64.go
new file mode 100644
index 000000000..bca686fed
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_netbsd_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_windows_386.go b/vendor/modernc.org/libc/stdlib/capi_windows_386.go
new file mode 100644
index 000000000..9bf9ad789
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_windows_386.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_windows_386.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/capi_windows_amd64.go b/vendor/modernc.org/libc/stdlib/capi_windows_amd64.go
new file mode 100644
index 000000000..b10c5f6d2
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/capi_windows_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo stdlib\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 stdlib\stdlib_windows_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_darwin_amd64.go b/vendor/modernc.org/libc/stdlib/stdlib_darwin_amd64.go
new file mode 100644
index 000000000..37f58f886
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_darwin_amd64.go
@@ -0,0 +1,6537 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_darwin_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BUS_ADRALN = 1
+ BUS_ADRERR = 2
+ BUS_NOOP = 0
+ BUS_OBJERR = 3
+ BYTE_ORDER = 1234
+ CLD_CONTINUED = 6
+ CLD_DUMPED = 3
+ CLD_EXITED = 1
+ CLD_KILLED = 2
+ CLD_NOOP = 0
+ CLD_STOPPED = 5
+ CLD_TRAPPED = 4
+ CPUMON_MAKE_FATAL = 0x1000
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FOOTPRINT_INTERVAL_RESET = 0x1
+ FPE_FLTDIV = 1
+ FPE_FLTINV = 5
+ FPE_FLTOVF = 2
+ FPE_FLTRES = 4
+ FPE_FLTSUB = 6
+ FPE_FLTUND = 3
+ FPE_INTDIV = 7
+ FPE_INTOVF = 8
+ FPE_NOOP = 0
+ FP_CHOP = 3
+ FP_PREC_24B = 0
+ FP_PREC_53B = 2
+ FP_PREC_64B = 3
+ FP_RND_DOWN = 1
+ FP_RND_NEAR = 0
+ FP_RND_UP = 2
+ FP_STATE_BYTES = 512
+ ILL_BADSTK = 8
+ ILL_COPROC = 7
+ ILL_ILLADR = 5
+ ILL_ILLOPC = 1
+ ILL_ILLOPN = 4
+ ILL_ILLTRP = 2
+ ILL_NOOP = 0
+ ILL_PRVOPC = 3
+ ILL_PRVREG = 6
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 32767
+ INT_FAST16_MIN = -32768
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 127
+ INT_FAST8_MIN = -128
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ IOPOL_APPLICATION = 5
+ IOPOL_ATIME_UPDATES_DEFAULT = 0
+ IOPOL_ATIME_UPDATES_OFF = 1
+ IOPOL_DEFAULT = 0
+ IOPOL_IMPORTANT = 1
+ IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
+ IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
+ IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
+ IOPOL_NORMAL = 1
+ IOPOL_PASSIVE = 2
+ IOPOL_SCOPE_DARWIN_BG = 2
+ IOPOL_SCOPE_PROCESS = 0
+ IOPOL_SCOPE_THREAD = 1
+ IOPOL_STANDARD = 5
+ IOPOL_THROTTLE = 3
+ IOPOL_TYPE_DISK = 0
+ IOPOL_TYPE_VFS_ATIME_UPDATES = 2
+ IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
+ IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
+ IOPOL_UTILITY = 4
+ IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
+ IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
+ LITTLE_ENDIAN = 1234
+ MINSIGSTKSZ = 32768
+ NSIG = 32
+ PDP_ENDIAN = 3412
+ POLL_ERR = 4
+ POLL_HUP = 6
+ POLL_IN = 1
+ POLL_MSG = 3
+ POLL_OUT = 2
+ POLL_PRI = 5
+ PRIO_DARWIN_BG = 0x1000
+ PRIO_DARWIN_NONUI = 0x1001
+ PRIO_DARWIN_PROCESS = 4
+ PRIO_DARWIN_THREAD = 3
+ PRIO_MAX = 20
+ PRIO_MIN = -20
+ PRIO_PGRP = 1
+ PRIO_PROCESS = 0
+ PRIO_USER = 2
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ RAND_MAX = 0x7fffffff
+ RLIMIT_AS = 5
+ RLIMIT_CORE = 4
+ RLIMIT_CPU = 0
+ RLIMIT_CPU_USAGE_MONITOR = 0x2
+ RLIMIT_DATA = 2
+ RLIMIT_FOOTPRINT_INTERVAL = 0x4
+ RLIMIT_FSIZE = 1
+ RLIMIT_MEMLOCK = 6
+ RLIMIT_NOFILE = 8
+ RLIMIT_NPROC = 7
+ RLIMIT_RSS = 5
+ RLIMIT_STACK = 3
+ RLIMIT_THREAD_CPULIMITS = 0x3
+ RLIMIT_WAKEUPS_MONITOR = 0x1
+ RLIM_NLIMITS = 9
+ RSIZE_MAX = 9223372036854775807
+ RUSAGE_CHILDREN = -1
+ RUSAGE_INFO_CURRENT = 4
+ RUSAGE_INFO_V0 = 0
+ RUSAGE_INFO_V1 = 1
+ RUSAGE_INFO_V2 = 2
+ RUSAGE_INFO_V3 = 3
+ RUSAGE_INFO_V4 = 4
+ RUSAGE_SELF = 0
+ SA_64REGSET = 0x0200
+ SA_NOCLDSTOP = 0x0008
+ SA_NOCLDWAIT = 0x0020
+ SA_NODEFER = 0x0010
+ SA_ONSTACK = 0x0001
+ SA_RESETHAND = 0x0004
+ SA_RESTART = 0x0002
+ SA_SIGINFO = 0x0040
+ SA_USERSPACE_MASK = 127
+ SA_USERTRAMP = 0x0100
+ SEGV_ACCERR = 2
+ SEGV_MAPERR = 1
+ SEGV_NOOP = 0
+ SIGABRT = 6
+ SIGALRM = 14
+ SIGBUS = 10
+ SIGCHLD = 20
+ SIGCONT = 19
+ SIGEMT = 7
+ SIGEV_NONE = 0
+ SIGEV_SIGNAL = 1
+ SIGEV_THREAD = 3
+ SIGFPE = 8
+ SIGHUP = 1
+ SIGILL = 4
+ SIGINFO = 29
+ SIGINT = 2
+ SIGIO = 23
+ SIGIOT = 6
+ SIGKILL = 9
+ SIGPIPE = 13
+ SIGPROF = 27
+ SIGQUIT = 3
+ SIGSEGV = 11
+ SIGSTKSZ = 131072
+ SIGSTOP = 17
+ SIGSYS = 12
+ SIGTERM = 15
+ SIGTRAP = 5
+ SIGTSTP = 18
+ SIGTTIN = 21
+ SIGTTOU = 22
+ SIGURG = 16
+ SIGUSR1 = 30
+ SIGUSR2 = 31
+ SIGVTALRM = 26
+ SIGWINCH = 28
+ SIGXCPU = 24
+ SIGXFSZ = 25
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIG_BLOCK = 1
+ SIG_SETMASK = 3
+ SIG_UNBLOCK = 2
+ SIZE_MAX = 18446744073709551615
+ SI_ASYNCIO = 0x10004
+ SI_MESGQ = 0x10005
+ SI_QUEUE = 0x10002
+ SI_TIMER = 0x10003
+ SI_USER = 0x10001
+ SS_DISABLE = 0x0004
+ SS_ONSTACK = 0x0001
+ SV_INTERRUPT = 2
+ SV_NOCLDSTOP = 8
+ SV_NODEFER = 16
+ SV_ONSTACK = 1
+ SV_RESETHAND = 4
+ SV_SIGINFO = 64
+ TRAP_BRKPT = 1
+ TRAP_TRACE = 2
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 65535
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 255
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WAIT_ANY = -1
+ WAIT_MYPGRP = 0
+ WAKEMON_DISABLE = 0x02
+ WAKEMON_ENABLE = 0x01
+ WAKEMON_GET_PARAMS = 0x04
+ WAKEMON_MAKE_FATAL = 0x10
+ WAKEMON_SET_DEFAULTS = 0x08
+ WCHAR_MAX = 2147483647
+ WCHAR_MIN = -2147483648
+ WCONTINUED = 0x00000010
+ WCOREFLAG = 0200
+ WEXITED = 0x00000004
+ WINT_MAX = 2147483647
+ WINT_MIN = -2147483648
+ WNOHANG = 0x00000001
+ WNOWAIT = 0x00000020
+ WSTOPPED = 0x00000008
+ WUNTRACED = 0x00000002
+ X_ALLOCA_H_ = 0
+ X_BSD_I386__TYPES_H_ = 0
+ X_BSD_MACHINE_ENDIAN_H_ = 0
+ X_BSD_MACHINE_SIGNAL_H_ = 0
+ X_BSD_MACHINE_TYPES_H_ = 0
+ X_BSD_MACHINE__TYPES_H_ = 0
+ X_CDEFS_H_ = 0
+ X_CT_RUNE_T = 0
+ X_DARWIN_FEATURE_64_BIT_INODE = 1
+ X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
+ X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
+ X_DEV_T = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FORTIFY_SOURCE = 2
+ X_GCC_WRAP_STDINT_H = 0
+ X_I386_SIGNAL_H_ = 1
+ X_I386__ENDIAN_H_ = 0
+ X_ID_T = 0
+ X_INT16_T = 0
+ X_INT32_T = 0
+ X_INT64_T = 0
+ X_INT8_T = 0
+ X_INTMAX_T = 0
+ X_INTPTR_T = 0
+ X_LP64 = 1
+ X_MACHTYPES_H_ = 0
+ X_MACH_I386__STRUCTS_H_ = 0
+ X_MACH_MACHINE__STRUCTS_H_ = 0
+ X_MALLOC_UNDERSCORE_MALLOC_H_ = 0
+ X_MCONTEXT_T = 0
+ X_MODE_T = 0
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_OS__OSBYTEORDERI386_H = 0
+ X_OS__OSBYTEORDER_H = 0
+ X_PID_T = 0
+ X_PTHREAD_ATTR_T = 0
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_RLIMIT_POSIX_FLAG = 0x1000
+ X_RUNE_T = 0
+ X_SIGSET_T = 0
+ X_SIZE_T = 0
+ X_STDINT_H_ = 0
+ X_STDLIB_H_ = 0
+ X_SYS_RESOURCE_H_ = 0
+ X_SYS_SIGNAL_H_ = 0
+ X_SYS_WAIT_H_ = 0
+ X_SYS__ENDIAN_H_ = 0
+ X_SYS__PTHREAD_TYPES_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_UID_T = 0
+ X_UINT16_T = 0
+ X_UINT32_T = 0
+ X_UINT64_T = 0
+ X_UINT8_T = 0
+ X_UINTMAX_T = 0
+ X_UINTPTR_T = 0
+ X_U_INT16_T = 0
+ X_U_INT32_T = 0
+ X_U_INT64_T = 0
+ X_U_INT8_T = 0
+ X_WCHAR_T = 0
+ X_WSTOPPED = 0177
+)
+
+// Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1989, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)wait.h 8.2 (Berkeley) 7/10/94
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This file holds definitions relevent to the wait4 system call
+// and the alternate interfaces that use it (wait, wait3, waitpid).
+
+// [XSI] The type idtype_t shall be defined as an enumeration type whose
+// possible values shall include at least P_ALL, P_PID, and P_PGID.
+const ( /* wait.h:79:1: */
+ P_ALL = 0
+ P_PID = 1
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// -
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stdlib.h 8.5 (Berkeley) 5/19/95
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+//
+// These macros are for use in OS header files. They enable function prototypes
+// and Objective-C methods to be tagged with the OS version in which they
+// were first available; and, if applicable, the OS version in which they
+// became deprecated.
+//
+// The desktop Mac OS X and iOS each have different version numbers.
+// The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
+// and iOS version numbers. For instance:
+// __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)
+// means the function/method was first available on Mac OS X 10.2 on the desktop
+// and first available in iOS 2.0 on the iPhone.
+//
+// If a function is available on one platform, but not the other a _NA (not
+// applicable) parameter is used. For instance:
+// __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)
+// means that the function/method was first available on Mac OS X 10.3, and it
+// currently not implemented on the iPhone.
+//
+// At some point, a function/method may be deprecated. That means Apple
+// recommends applications stop using the function, either because there is a
+// better replacement or the functionality is being phased out. Deprecated
+// functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()
+// macro which specifies the OS version where the function became available
+// as well as the OS version in which it became deprecated. For instance:
+// __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
+// means that the function/method was introduced in Mac OS X 10.0, then
+// became deprecated beginning in Mac OS X 10.5. On iOS the function
+// has never been available.
+//
+// For these macros to function properly, a program must specify the OS version range
+// it is targeting. The min OS version is specified as an option to the compiler:
+// -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z
+// when building for the iPhone. The upper bound for the OS version is rarely needed,
+// but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for
+// Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS.
+//
+// Examples:
+//
+// A function available in Mac OS X 10.5 and later, but not on the phone:
+//
+// extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
+//
+//
+// An Objective-C method in Mac OS X 10.5 and later, but not on the phone:
+//
+// @interface MyClass : NSObject
+// -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
+// @end
+//
+//
+// An enum available on the phone, but not available on Mac OS X:
+//
+// #if __IPHONE_OS_VERSION_MIN_REQUIRED
+// enum { myEnum = 1 };
+// #endif
+// Note: this works when targeting the Mac OS X platform because
+// __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero.
+//
+//
+// An enum with values added in different iPhoneOS versions:
+//
+// enum {
+// myX = 1, // Usable on iPhoneOS 2.1 and later
+// myY = 2, // Usable on iPhoneOS 3.0 and later
+// myZ = 3, // Usable on iPhoneOS 3.0 and later
+// ...
+// Note: you do not want to use #if with enumeration values
+// when a client needs to see all values at compile time
+// and use runtime logic to only use the viable values.
+//
+//
+// It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one
+// source base that can be compiled to target a range of OS versions. It is best
+// to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.
+// That is because you might get compiled on an old OS that does not define a later
+// OS version macro, and in the C preprocessor undefined values evaluate to zero
+// in expresssions, which could cause the #if expression to evaluate in an unexpected
+// way.
+//
+// #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
+// // code only compiled when targeting Mac OS X and not iPhone
+// // note use of 1050 instead of __MAC_10_5
+// #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+// // code in here might run on pre-Leopard OS
+// #else
+// // code here can assume Leopard or later
+// #endif
+// #endif
+//
+//
+
+// __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated
+// in an upcoming release. This soft deprecation is an intermediate step before formal
+// deprecation to notify developers about the API before compiler warnings are generated.
+// You can find all places in your code that use soft deprecated API by redefining the
+// value of this macro to your current minimum deployment target, for example:
+// (macOS)
+// clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags>
+// (iOS)
+// clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags>
+
+// __MAC_NA is not defined to a value but is uses as a token by macros to indicate that the API is unavailable
+
+// __IPHONE_NA is not defined to a value but is uses as a token by macros to indicate that the API is unavailable
+
+// DO NOT EDIT THIS FILE.
+//
+// It has been auto-edited by fixincludes from:
+//
+// "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/AvailabilityInternal.h"
+//
+// This had to be done to correct non-standard usages in the
+// original, manufacturer supplied header file.
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+//
+// File: AvailabilityInternal.h
+//
+// Contains: implementation details of __OSX_AVAILABLE_* macros from <Availability.h>
+//
+
+// compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+
+// make sure a default max version is set
+
+//
+// Macros for defining which versions/platform a given symbol can be used.
+//
+// @see http://clang.llvm.org/docs/AttributeReference.html#availability
+//
+
+// Evaluate to nothing for compilers that don't support clang language extensions.
+
+// Swift compiler version
+// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Example:
+//
+// #if __swift_compiler_version_at_least(800, 2, 20)
+// - (nonnull NSString *)description;
+// #else
+// - (NSString *)description;
+// #endif
+
+// If __SPI_AVAILABLE has not been defined elsewhere, disable it.
+
+// for use to document app extension usage
+
+// for use marking APIs available info for Mac OSX
+
+// for use marking APIs available info for iOS
+
+// for use marking APIs available info for tvOS
+
+// for use marking APIs available info for Watch OS
+
+// for use marking APIs unavailable for swift
+
+//
+// Macros for defining which versions/platform a given symbol can be used.
+//
+// @see http://clang.llvm.org/docs/AttributeReference.html#availability
+//
+// * Note that these macros are only compatible with clang compilers that
+// * support the following target selection options:
+// *
+// * -mmacosx-version-min
+// * -miphoneos-version-min
+// * -mwatchos-version-min
+// * -mtvos-version-min
+//
+
+// Evaluate to nothing for compilers that don't support clang language extensions.
+
+// If SPI decorations have not been defined elsewhere, disable them.
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// This SDK is designed to work with clang and specific versions of
+// gcc >= 4.0 with Apple's patch sets
+
+// Compatibility with compilers and environments that don't support compiler
+// feature checking function-like macros.
+
+// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
+// in between its arguments. __CONCAT can also concatenate double-quoted
+// strings produced by the __STRING macro, but this only works with ANSI C.
+
+// __unused denotes variables and functions that may not be used, preventing
+// the compiler from warning about it if not used.
+
+// __used forces variables and functions to be included even if it appears
+// to the compiler that they are not used (and would thust be discarded).
+
+// __cold marks code used for debugging or that is rarely taken
+// and tells the compiler to optimize for size and outline code.
+
+// __deprecated causes the compiler to produce a warning when encountering
+// code using the deprecated functionality.
+// __deprecated_msg() does the same, and compilers that support it will print
+// a message along with the deprecation warning.
+// This may require turning on such warning with the -Wdeprecated flag.
+// __deprecated_enum_msg() should be used on enums, and compilers that support
+// it will print the deprecation warning.
+// __kpi_deprecated() specifically indicates deprecation of kernel programming
+// interfaces in Kernel.framework used by KEXTs.
+
+// __unavailable causes the compiler to error out when encountering
+// code using the tagged function of variable.
+
+// Delete pseudo-keywords wherever they are not available or needed.
+
+// We use `__restrict' as a way to define the `restrict' type qualifier
+// without disturbing older software that is unaware of C99 keywords.
+
+// Compatibility with compilers and environments that don't support the
+// nullability feature.
+
+// __disable_tail_calls causes the compiler to not perform tail call
+// optimization inside the marked function.
+
+// __not_tail_called causes the compiler to prevent tail call optimization
+// on statically bound calls to the function. It has no effect on indirect
+// calls. Virtual functions, objective-c methods, and functions marked as
+// "always_inline" cannot be marked as __not_tail_called.
+
+// __result_use_check warns callers of a function that not using the function
+// return value is a bug, i.e. dismissing malloc() return value results in a
+// memory leak.
+
+// __swift_unavailable causes the compiler to mark a symbol as specifically
+// unavailable in Swift, regardless of any other availability in C.
+
+// __abortlike is the attribute to put on functions like abort() that are
+// typically used to mark assertions. These optimize the codegen
+// for outlining while still maintaining debugability.
+
+// Declaring inline functions within headers is error-prone due to differences
+// across various versions of the C language and extensions. __header_inline
+// can be used to declare inline functions within system headers. In cases
+// where you want to force inlining instead of letting the compiler make
+// the decision, you can use __header_always_inline.
+//
+// Be aware that using inline for functions which compilers may also provide
+// builtins can behave differently under various compilers. If you intend to
+// provide an inline version of such a function, you may want to use a macro
+// instead.
+//
+// The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
+// support c99 inline in some cases:
+// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
+
+// Compiler-dependent macros that bracket portions of code where the
+// "-Wunreachable-code" warning should be ignored. Please use sparingly.
+
+// Compiler-dependent macros to declare that functions take printf-like
+// or scanf-like arguments. They are null except for versions of gcc
+// that are known to support the features properly. Functions declared
+// with these attributes will cause compilation warnings if there is a
+// mismatch between the format string and subsequent function parameter
+// types.
+
+// Source compatibility only, ID string not emitted in object file
+
+// __alloc_size can be used to label function arguments that represent the
+// size of memory that the function allocates and returns. The one-argument
+// form labels a single argument that gives the allocation size (where the
+// arguments are numbered from 1):
+//
+// void *malloc(size_t __size) __alloc_size(1);
+//
+// The two-argument form handles the case where the size is calculated as the
+// product of two arguments:
+//
+// void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
+
+// COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
+//
+// DEFAULT By default newly complied code will get POSIX APIs plus
+// Apple API extensions in scope.
+//
+// Most users will use this compilation environment to avoid
+// behavioral differences between 32 and 64 bit code.
+//
+// LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
+// API extensions in scope.
+//
+// This is generally equivalent to the Tiger release compilation
+// environment, except that it cannot be applied to 64 bit code;
+// its use is discouraged.
+//
+// We expect this environment to be deprecated in the future.
+//
+// STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
+// available APIs to exactly the set of APIs defined by the
+// corresponding standard, based on the value defined.
+//
+// A correct, portable definition for _POSIX_C_SOURCE is 200112L.
+// A correct, portable definition for _XOPEN_SOURCE is 600L.
+//
+// Apple API extensions are not visible in this environment,
+// which can cause Apple specific code to fail to compile,
+// or behave incorrectly if prototypes are not in scope or
+// warnings about missing prototypes are not enabled or ignored.
+//
+// In any compilation environment, for correct symbol resolution to occur,
+// function prototypes must be in scope. It is recommended that all Apple
+// tools users add either the "-Wall" or "-Wimplicit-function-declaration"
+// compiler flags to their projects to be warned when a function is being
+// used without a prototype in scope.
+
+// These settings are particular to each product.
+// Platform: MacOSX
+// #undef __DARWIN_ONLY_UNIX_CONFORMANCE (automatically set for 64-bit)
+
+// The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
+// legacy code to use the old symbol, thus maintaining binary compatibility
+// while new code can use a standards compliant version of the same function.
+//
+// __DARWIN_ALIAS is used by itself if the function signature has not
+// changed, it is used along with a #ifdef check for __DARWIN_UNIX03
+// if the signature has changed. Because the __LP64__ environment
+// only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
+// defined, but causes __DARWIN_ALIAS to do no symbol mangling.
+//
+// As a special case, when XCode is used to target a specific version of the
+// OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+// will be defined by the compiler, with the digits representing major version
+// time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
+// pre-10.5, and it is the default compilation environment, revert the
+// compilation environment to pre-__DARWIN_UNIX03.
+
+// symbol suffixes used for symbol versioning
+
+// symbol versioning macros
+
+// symbol release macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// POSIX.1 requires that the macros we test be defined before any standard
+// header file is included. This permits us to convert values for feature
+// testing, as necessary, using only _POSIX_C_SOURCE.
+//
+// Here's a quick run-down of the versions:
+// defined(_POSIX_SOURCE) 1003.1-1988
+// _POSIX_C_SOURCE == 1L 1003.1-1990
+// _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
+// _POSIX_C_SOURCE == 199309L 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
+// and the omnibus ISO/IEC 9945-1: 1996
+// _POSIX_C_SOURCE == 200112L 1003.1-2001
+// _POSIX_C_SOURCE == 200809L 1003.1-2008
+//
+// In addition, the X/Open Portability Guide, which is now the Single UNIX
+// Specification, defines a feature-test macro which indicates the version of
+// that specification, and which subsumes _POSIX_C_SOURCE.
+
+// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
+
+// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
+
+// Deal with various X/Open Portability Guides and Single UNIX Spec.
+
+// Deal with all versions of POSIX. The ordering relative to the tests above is
+// important.
+
+// POSIX C deprecation macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Set a single macro which will always be defined and can be used to determine
+// the appropriate namespace. For POSIX, these values will correspond to
+// _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
+// to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
+
+// If the developer has neither requested a strict language mode nor a version
+// of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
+// of __DARWIN_C_FULL.
+
+// long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
+// c99 still want long longs. While not perfect, we allow long longs for
+// g++.
+
+// ****************************************
+//
+// Public darwin-specific feature macros
+//
+
+// _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
+// structures modified for 64-bit inodes (like struct stat) will be used.
+
+// _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
+// be 64-bit; there is no support for 32-bit ino_t when this macro is defined
+// (and non-zero). There is no struct stat64 either, as the regular
+// struct stat will already be the 64-bit version.
+
+// _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
+// in 10.5 exists; no pre-10.5 variants are available.
+
+// _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
+// are available (the legacy BSD APIs are not available)
+
+// _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
+// and specifies the conformance level (3 is SUSv3)
+
+// This macro casts away the qualifier from the variable
+//
+// Note: use at your own risk, removing qualifiers can result in
+// catastrophic run-time failures.
+
+// __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
+// used from other compilation units, but not other libraries or executables.
+
+// Architecture validation for current SDK
+
+// Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
+//
+// This provides more advanced type checking on compilers supporting
+// the proper extensions, even in C.
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This header file contains integer types. It's intended to also contain
+// flotaing point and other arithmetic types, as needed, later.
+
+type X__int8_t = int8 /* _types.h:37:33 */
+type X__uint8_t = uint8 /* _types.h:41:33 */
+type X__int16_t = int16 /* _types.h:42:33 */
+type X__uint16_t = uint16 /* _types.h:43:33 */
+type X__int32_t = int32 /* _types.h:44:33 */
+type X__uint32_t = uint32 /* _types.h:45:33 */
+type X__int64_t = int64 /* _types.h:46:33 */
+type X__uint64_t = uint64 /* _types.h:47:33 */
+
+type X__darwin_intptr_t = int64 /* _types.h:49:33 */
+type X__darwin_natural_t = uint32 /* _types.h:50:33 */
+
+// The rune type below is declared to be an ``int'' instead of the more natural
+// ``unsigned long'' or ``long''. Two things are happening here. It is not
+// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+// it looks like 10646 will be a 31 bit standard. This means that if your
+// ints cannot hold 32 bits, you will be in trouble. The reason an int was
+// chosen over a long is that the is*() and to*() routines take ints (says
+// ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
+// here, you lose a bit of ANSI conformance, but your programs will still
+// work.
+//
+// NOTE: rune_t is not covered by ANSI nor other standards, and should not
+// be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+// rune_t must be the same type. Also wint_t must be no narrower than
+// wchar_t, and should also be able to hold all members of the largest
+// character set plus one extra value (WEOF). wint_t must be at least 16 bits.
+
+type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
+} /* _types.h:79:3 */
+
+type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
+
+type X__darwin_ptrdiff_t = int64 /* _types.h:84:33 */ // ptr1 - ptr2
+
+type X__darwin_size_t = uint64 /* _types.h:92:33 */ // sizeof()
+
+type X__darwin_va_list = X__builtin_va_list /* _types.h:98:33 */ // va_list
+
+type X__darwin_wchar_t = int32 /* _types.h:104:33 */ // wchar_t
+
+type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:109:33 */ // rune_t
+
+type X__darwin_wint_t = int32 /* _types.h:112:33 */ // wint_t
+
+type X__darwin_clock_t = uint64 /* _types.h:117:33 */ // clock()
+type X__darwin_socklen_t = X__uint32_t /* _types.h:118:33 */ // socklen_t (duh)
+type X__darwin_ssize_t = int64 /* _types.h:119:33 */ // byte count or error
+type X__darwin_time_t = int64 /* _types.h:120:33 */ // time()
+
+// Type definitions; takes common type definitions that must be used
+// in multiple header files due to [XSI], removes them from the system
+// space, and puts them in the implementation space.
+
+type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
+type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
+type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
+type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
+type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
+type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
+type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
+type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
+type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
+type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
+type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
+type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
+type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
+type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
+type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
+type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
+type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
+type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
+type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
+type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
+
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// pthread opaque structures
+
+type X__darwin_pthread_handler_rec = struct {
+ F__routine uintptr
+ F__arg uintptr
+ F__next uintptr
+} /* _pthread_types.h:57:1 */
+
+type X_opaque_pthread_attr_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:63:1 */
+
+type X_opaque_pthread_cond_t = struct {
+ F__sig int64
+ F__opaque [40]int8
+} /* _pthread_types.h:68:1 */
+
+type X_opaque_pthread_condattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:73:1 */
+
+type X_opaque_pthread_mutex_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:78:1 */
+
+type X_opaque_pthread_mutexattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:83:1 */
+
+type X_opaque_pthread_once_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:88:1 */
+
+type X_opaque_pthread_rwlock_t = struct {
+ F__sig int64
+ F__opaque [192]int8
+} /* _pthread_types.h:93:1 */
+
+type X_opaque_pthread_rwlockattr_t = struct {
+ F__sig int64
+ F__opaque [16]int8
+} /* _pthread_types.h:98:1 */
+
+type X_opaque_pthread_t = struct {
+ F__sig int64
+ F__cleanup_stack uintptr
+ F__opaque [8176]int8
+} /* _pthread_types.h:103:1 */
+
+type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
+type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
+type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
+type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
+type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
+type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
+type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
+type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
+type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
+type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type X__darwin_nl_item = int32 /* _types.h:40:14 */
+type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
+type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
+
+// Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1989, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)wait.h 8.2 (Berkeley) 7/10/94
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This file holds definitions relevent to the wait4 system call
+// and the alternate interfaces that use it (wait, wait3, waitpid).
+
+// [XSI] The type idtype_t shall be defined as an enumeration type whose
+// possible values shall include at least P_ALL, P_PID, and P_PGID.
+type Idtype_t = uint32 /* wait.h:83:3 */
+
+// [XSI] The id_t and pid_t types shall be defined as described
+// in <sys/types.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Id_t = X__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t
+
+// [XSI] The siginfo_t type shall be defined as described in <signal.h>
+// [XSI] The rusage structure shall be defined as described in <sys/resource.h>
+// [XSI] Inclusion of the <sys/wait.h> header may also make visible all
+// symbols from <signal.h> and <sys/resource.h>
+//
+// NOTE: This requirement is currently being satisfied by the direct
+// inclusion of <sys/signal.h> and <sys/resource.h>, below.
+//
+// Software should not depend on the exposure of anything other
+// than the types siginfo_t and struct rusage as a result of
+// this inclusion. If you depend on any types or manifest
+// values othe than siginfo_t and struct rusage from either of
+// those files, you should explicitly include them yourself, as
+// well, or in future releases your stware may not compile
+// without modification.
+// Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.2 (Berkeley) 1/21/94
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1992 NeXT Computer, Inc.
+//
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+type Sig_atomic_t = int32 /* signal.h:39:13 */
+
+// Language spec sez we must list exactly one parameter, even though we
+// actually supply three. Ugh!
+// SIG_HOLD is chosen to avoid KERN_SIG_* values in <sys/signalvar.h>
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2004-2006 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// @OSF_COPYRIGHT@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.3 (Berkeley) 1/5/94
+
+// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Basic integral types. Omit the typedef if
+// not possible for a machine/compiler combination.
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int8_t = int8 /* _int8_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int16_t = int16 /* _int16_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int32_t = int32 /* _int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int64_t = int64 /* _int64_t.h:30:33 */
+
+// Copyright (c) 2016 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
+
+type Register_t = Int64_t /* types.h:87:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Uintptr_t = uint64 /* _uintptr_t.h:30:33 */
+
+// These types are used for reserving the largest possible size.
+type User_addr_t = U_int64_t /* types.h:97:33 */
+type User_size_t = U_int64_t /* types.h:98:33 */
+type User_ssize_t = Int64_t /* types.h:99:33 */
+type User_long_t = Int64_t /* types.h:100:33 */
+type User_ulong_t = U_int64_t /* types.h:101:33 */
+type User_time_t = Int64_t /* types.h:102:33 */
+type User_off_t = Int64_t /* types.h:103:33 */
+
+// This defines the size of syscall arguments after copying into the kernel:
+type Syscall_arg_t = U_int64_t /* types.h:111:33 */
+
+// i386 is the structure that is exported to user threads for
+// use in status/mutate calls. This structure should never change.
+//
+
+type X__darwin_i386_thread_state = struct {
+ F__eax uint32
+ F__ebx uint32
+ F__ecx uint32
+ F__edx uint32
+ F__edi uint32
+ F__esi uint32
+ F__ebp uint32
+ F__esp uint32
+ F__ss uint32
+ F__eflags uint32
+ F__eip uint32
+ F__cs uint32
+ F__ds uint32
+ F__es uint32
+ F__fs uint32
+ F__gs uint32
+} /* _structs.h:46:1 */
+
+// This structure should be double-word aligned for performance
+
+type X__darwin_fp_control = struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+} /* _structs.h:92:1 */
+
+type X__darwin_fp_control_t = X__darwin_fp_control /* _structs.h:117:28 */
+
+// Status word.
+
+type X__darwin_fp_status = struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+} /* _structs.h:150:1 */
+
+type X__darwin_fp_status_t = X__darwin_fp_status /* _structs.h:167:27 */
+
+// defn of 80bit x87 FPU or MMX register
+
+type X__darwin_mmst_reg = struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+} /* _structs.h:194:1 */
+
+// defn of 128 bit XMM regs
+
+type X__darwin_xmm_reg = struct{ F__xmm_reg [16]int8 } /* _structs.h:213:1 */
+
+// defn of 256 bit YMM regs
+
+type X__darwin_ymm_reg = struct{ F__ymm_reg [32]int8 } /* _structs.h:229:1 */
+
+// defn of 512 bit ZMM regs
+
+type X__darwin_zmm_reg = struct{ F__zmm_reg [64]int8 } /* _structs.h:245:1 */
+
+type X__darwin_opmask_reg = struct{ F__opmask_reg [8]int8 } /* _structs.h:259:1 */
+
+// Floating point state.
+
+type X__darwin_i386_float_state = struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [224]int8
+ F__fpu_reserved1 int32
+} /* _structs.h:281:1 */
+
+type X__darwin_i386_avx_state = struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [224]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+} /* _structs.h:318:1 */
+
+type X__darwin_i386_avx512_state = struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [224]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_k0 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k1 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k2 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k3 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k4 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k5 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k6 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k7 struct{ F__opmask_reg [8]int8 }
+ F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 }
+} /* _structs.h:364:1 */
+
+type X__darwin_i386_exception_state = struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint32_t
+} /* _structs.h:575:1 */
+
+type X__darwin_x86_debug_state32 = struct {
+ F__dr0 uint32
+ F__dr1 uint32
+ F__dr2 uint32
+ F__dr3 uint32
+ F__dr4 uint32
+ F__dr5 uint32
+ F__dr6 uint32
+ F__dr7 uint32
+} /* _structs.h:595:1 */
+
+type X__x86_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:622:1 */
+
+// 64 bit versions of the above
+
+type X__darwin_x86_thread_state64 = struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+} /* _structs.h:633:1 */
+
+// 64 bit versions of the above (complete)
+
+type X__darwin_x86_thread_full_state64 = struct {
+ F__ss64 struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__ds X__uint64_t
+ F__es X__uint64_t
+ F__ss X__uint64_t
+ F__gsbase X__uint64_t
+} /* _structs.h:691:1 */
+
+type X__darwin_x86_float_state64 = struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+} /* _structs.h:714:1 */
+
+type X__darwin_x86_avx_state64 = struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
+} /* _structs.h:765:1 */
+
+type X__darwin_x86_avx512_state64 = struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_k0 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k1 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k2 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k3 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k4 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k5 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k6 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k7 struct{ F__opmask_reg [8]int8 }
+ F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh8 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh9 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh10 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh11 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh12 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh13 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh14 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh15 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmm16 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm17 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm18 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm19 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm20 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm21 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm22 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm23 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm24 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm25 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm26 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm27 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm28 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm29 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm30 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm31 struct{ F__zmm_reg [64]int8 }
+} /* _structs.h:833:1 */
+
+type X__darwin_x86_exception_state64 = struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+} /* _structs.h:1172:1 */
+
+type X__darwin_x86_debug_state64 = struct {
+ F__dr0 X__uint64_t
+ F__dr1 X__uint64_t
+ F__dr2 X__uint64_t
+ F__dr3 X__uint64_t
+ F__dr4 X__uint64_t
+ F__dr5 X__uint64_t
+ F__dr6 X__uint64_t
+ F__dr7 X__uint64_t
+} /* _structs.h:1192:1 */
+
+type X__darwin_x86_cpmu_state64 = struct{ F__ctrs [16]X__uint64_t } /* _structs.h:1220:1 */
+
+type X__darwin_mcontext32 = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint32_t
+ }
+ F__ss struct {
+ F__eax uint32
+ F__ebx uint32
+ F__ecx uint32
+ F__edx uint32
+ F__edi uint32
+ F__esi uint32
+ F__ebp uint32
+ F__esp uint32
+ F__ss uint32
+ F__eflags uint32
+ F__eip uint32
+ F__cs uint32
+ F__ds uint32
+ F__es uint32
+ F__fs uint32
+ F__gs uint32
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [224]int8
+ F__fpu_reserved1 int32
+ }
+} /* _mcontext.h:39:1 */
+
+type X__darwin_mcontext_avx32 = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint32_t
+ }
+ F__ss struct {
+ F__eax uint32
+ F__ebx uint32
+ F__ecx uint32
+ F__edx uint32
+ F__edi uint32
+ F__esi uint32
+ F__ebp uint32
+ F__esp uint32
+ F__ss uint32
+ F__eflags uint32
+ F__eip uint32
+ F__cs uint32
+ F__ds uint32
+ F__es uint32
+ F__fs uint32
+ F__gs uint32
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [224]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ }
+} /* _mcontext.h:47:1 */
+
+type X__darwin_mcontext_avx512_32 = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint32_t
+ }
+ F__ss struct {
+ F__eax uint32
+ F__ebx uint32
+ F__ecx uint32
+ F__edx uint32
+ F__edi uint32
+ F__esi uint32
+ F__ebp uint32
+ F__esp uint32
+ F__ss uint32
+ F__eflags uint32
+ F__eip uint32
+ F__cs uint32
+ F__ds uint32
+ F__es uint32
+ F__fs uint32
+ F__gs uint32
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [224]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_k0 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k1 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k2 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k3 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k4 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k5 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k6 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k7 struct{ F__opmask_reg [8]int8 }
+ F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 }
+ }
+} /* _mcontext.h:56:1 */
+
+type X__darwin_mcontext64 = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+ }
+ F__ss struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ }
+ F__ccgo_pad1 [4]byte
+} /* _mcontext.h:97:1 */
+
+type X__darwin_mcontext64_full = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+ }
+ F__ss struct {
+ F__ss64 struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__ds X__uint64_t
+ F__es X__uint64_t
+ F__ss X__uint64_t
+ F__gsbase X__uint64_t
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ }
+ F__ccgo_pad1 [4]byte
+} /* _mcontext.h:105:1 */
+
+type X__darwin_mcontext_avx64 = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+ }
+ F__ss struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
+ }
+ F__ccgo_pad1 [4]byte
+} /* _mcontext.h:113:1 */
+
+type X__darwin_mcontext_avx64_full = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+ }
+ F__ss struct {
+ F__ss64 struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__ds X__uint64_t
+ F__es X__uint64_t
+ F__ss X__uint64_t
+ F__gsbase X__uint64_t
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
+ }
+ F__ccgo_pad1 [4]byte
+} /* _mcontext.h:121:1 */
+
+type X__darwin_mcontext_avx512_64 = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+ }
+ F__ss struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_k0 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k1 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k2 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k3 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k4 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k5 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k6 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k7 struct{ F__opmask_reg [8]int8 }
+ F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh8 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh9 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh10 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh11 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh12 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh13 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh14 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh15 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmm16 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm17 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm18 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm19 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm20 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm21 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm22 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm23 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm24 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm25 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm26 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm27 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm28 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm29 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm30 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm31 struct{ F__zmm_reg [64]int8 }
+ }
+ F__ccgo_pad1 [4]byte
+} /* _mcontext.h:130:1 */
+
+type X__darwin_mcontext_avx512_64_full = struct {
+ F__es struct {
+ F__trapno X__uint16_t
+ F__cpu X__uint16_t
+ F__err X__uint32_t
+ F__faultvaddr X__uint64_t
+ }
+ F__ss struct {
+ F__ss64 struct {
+ F__rax X__uint64_t
+ F__rbx X__uint64_t
+ F__rcx X__uint64_t
+ F__rdx X__uint64_t
+ F__rdi X__uint64_t
+ F__rsi X__uint64_t
+ F__rbp X__uint64_t
+ F__rsp X__uint64_t
+ F__r8 X__uint64_t
+ F__r9 X__uint64_t
+ F__r10 X__uint64_t
+ F__r11 X__uint64_t
+ F__r12 X__uint64_t
+ F__r13 X__uint64_t
+ F__r14 X__uint64_t
+ F__r15 X__uint64_t
+ F__rip X__uint64_t
+ F__rflags X__uint64_t
+ F__cs X__uint64_t
+ F__fs X__uint64_t
+ F__gs X__uint64_t
+ }
+ F__ds X__uint64_t
+ F__es X__uint64_t
+ F__ss X__uint64_t
+ F__gsbase X__uint64_t
+ }
+ F__fs struct {
+ F__fpu_reserved [2]int32
+ F__fpu_fcw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short : 2, unsigned short __pc: 2, unsigned short __rc: 2, unsigned short : 1, unsigned short : 3 */
+ }
+ F__fpu_fsw struct {
+ F__ccgo_pad1 [0]uint16
+ F__invalid uint16 /* unsigned short __invalid: 1, unsigned short __denorm: 1, unsigned short __zdiv: 1, unsigned short __ovrfl: 1, unsigned short __undfl: 1, unsigned short __precis: 1, unsigned short __stkflt: 1, unsigned short __errsumm: 1, unsigned short __c0: 1, unsigned short __c1: 1, unsigned short __c2: 1, unsigned short __tos: 3, unsigned short __c3: 1, unsigned short __busy: 1 */
+ }
+ F__fpu_ftw X__uint8_t
+ F__fpu_rsrv1 X__uint8_t
+ F__fpu_fop X__uint16_t
+ F__fpu_ip X__uint32_t
+ F__fpu_cs X__uint16_t
+ F__fpu_rsrv2 X__uint16_t
+ F__fpu_dp X__uint32_t
+ F__fpu_ds X__uint16_t
+ F__fpu_rsrv3 X__uint16_t
+ F__fpu_mxcsr X__uint32_t
+ F__fpu_mxcsrmask X__uint32_t
+ F__fpu_stmm0 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm1 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm2 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm3 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm4 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm5 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm6 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_stmm7 struct {
+ F__mmst_reg [10]int8
+ F__mmst_rsrv [6]int8
+ }
+ F__fpu_xmm0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_xmm15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_rsrv4 [96]int8
+ F__fpu_reserved1 int32
+ F__avx_reserved1 [64]int8
+ F__fpu_ymmh0 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh1 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh2 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh3 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh4 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh5 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh6 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh7 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh8 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh9 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh10 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh11 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh12 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh13 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh14 struct{ F__xmm_reg [16]int8 }
+ F__fpu_ymmh15 struct{ F__xmm_reg [16]int8 }
+ F__fpu_k0 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k1 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k2 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k3 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k4 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k5 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k6 struct{ F__opmask_reg [8]int8 }
+ F__fpu_k7 struct{ F__opmask_reg [8]int8 }
+ F__fpu_zmmh0 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh1 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh2 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh3 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh4 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh5 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh6 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh7 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh8 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh9 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh10 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh11 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh12 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh13 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh14 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmmh15 struct{ F__ymm_reg [32]int8 }
+ F__fpu_zmm16 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm17 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm18 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm19 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm20 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm21 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm22 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm23 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm24 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm25 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm26 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm27 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm28 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm29 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm30 struct{ F__zmm_reg [64]int8 }
+ F__fpu_zmm31 struct{ F__zmm_reg [64]int8 }
+ }
+ F__ccgo_pad1 [4]byte
+} /* _mcontext.h:138:1 */
+
+type Mcontext_t = uintptr /* _mcontext.h:204:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Structure used in sigaltstack call.
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type X__darwin_sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* _sigaltstack.h:42:1 */
+
+type Stack_t = X__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type X__darwin_ucontext = struct {
+ Fuc_onstack int32
+ Fuc_sigmask X__darwin_sigset_t
+ Fuc_stack struct {
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+ }
+ Fuc_link uintptr
+ Fuc_mcsize X__darwin_size_t
+ Fuc_mcontext uintptr
+} /* _ucontext.h:42:1 */
+
+// user context
+type Ucontext_t = X__darwin_ucontext /* _ucontext.h:56:33 */ // [???] user context
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Sigset_t = X__darwin_sigset_t /* _sigset_t.h:31:41 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */
+
+type Sigval = struct {
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
+} /* signal.h:158:1 */
+
+type Sigevent = struct {
+ Fsigev_notify int32
+ Fsigev_signo int32
+ Fsigev_value struct {
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
+ }
+ Fsigev_notify_function uintptr
+ Fsigev_notify_attributes uintptr
+} /* signal.h:168:1 */
+
+type X__siginfo = struct {
+ Fsi_signo int32
+ Fsi_errno int32
+ Fsi_code int32
+ Fsi_pid Pid_t
+ Fsi_uid Uid_t
+ Fsi_status int32
+ Fsi_addr uintptr
+ Fsi_value struct {
+ F__ccgo_pad1 [0]uint64
+ Fsival_int int32
+ F__ccgo_pad2 [4]byte
+ }
+ Fsi_band int64
+ F__pad [7]uint64
+} /* signal.h:177:9 */
+
+type Siginfo_t = X__siginfo /* signal.h:188:3 */
+
+// When the signal is SIGILL or SIGFPE, si_addr contains the address of
+// the faulting instruction.
+// When the signal is SIGSEGV or SIGBUS, si_addr contains the address of
+// the faulting memory reference. Although for x86 there are cases of SIGSEGV
+// for which si_addr cannot be determined and is NULL.
+// If the signal is SIGCHLD, the si_pid field will contain the child process ID,
+// si_status contains the exit value or signal and
+// si_uid contains the real user ID of the process that sent the signal.
+
+// Values for si_code
+
+// Codes for SIGILL
+
+// Codes for SIGFPE
+
+// Codes for SIGSEGV
+
+// Codes for SIGBUS
+
+// Codes for SIGTRAP
+
+// Codes for SIGCHLD
+
+// Codes for SIGPOLL
+
+// union for signal handlers
+type X__sigaction_u = struct{ F__sa_handler uintptr } /* signal.h:269:1 */
+
+// Signal vector template for Kernel user boundary
+type X__sigaction = struct {
+ F__sigaction_u struct{ F__sa_handler uintptr }
+ Fsa_tramp uintptr
+ Fsa_mask Sigset_t
+ Fsa_flags int32
+} /* signal.h:276:1 */
+
+// Signal vector "template" used in sigaction call.
+type Sigaction = struct {
+ F__sigaction_u struct{ F__sa_handler uintptr }
+ Fsa_mask Sigset_t
+ Fsa_flags int32
+} /* signal.h:286:1 */
+
+// if SA_SIGINFO is set, sa_sigaction is to be used instead of sa_handler.
+
+// This will provide 64bit register set in a 32bit user address space
+
+// the following are the only bits we support from user space, the
+// rest are for kernel use only.
+
+// Flags for sigprocmask:
+
+// POSIX 1003.1b required values.
+
+type Sig_t = uintptr /* signal.h:331:14 */ // type of signal function
+
+// Structure used in sigaltstack call.
+
+// 4.3 compatibility:
+// Signal vector "template" used in sigvec call.
+type Sigvec = struct {
+ Fsv_handler uintptr
+ Fsv_mask int32
+ Fsv_flags int32
+} /* signal.h:348:1 */
+
+// Structure used in sigstack call.
+type Sigstack = struct {
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
+} /* signal.h:367:1 */
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)resource.h 8.2 (Berkeley) 1/4/94
+
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// DO NOT EDIT THIS FILE.
+//
+// It has been auto-edited by fixincludes from:
+//
+// "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h"
+//
+// This had to be done to correct non-standard usages in the
+// original, manufacturer supplied header file.
+
+// Copyright (c) 2000-2010 Apple Inc.
+// All rights reserved.
+
+// from ISO/IEC 988:1999 spec
+
+// 7.18.1.1 Exact-width integer types
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint8_t = uint8 /* _uint8_t.h:31:23 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint16_t = uint16 /* _uint16_t.h:31:24 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint32_t = uint32 /* _uint32_t.h:31:22 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint64_t = uint64 /* _uint64_t.h:31:28 */
+
+// 7.18.1.2 Minimum-width integer types
+type Int_least8_t = Int8_t /* stdint.h:38:26 */
+type Int_least16_t = Int16_t /* stdint.h:39:25 */
+type Int_least32_t = Int32_t /* stdint.h:40:25 */
+type Int_least64_t = Int64_t /* stdint.h:41:25 */
+type Uint_least8_t = Uint8_t /* stdint.h:42:25 */
+type Uint_least16_t = Uint16_t /* stdint.h:43:24 */
+type Uint_least32_t = Uint32_t /* stdint.h:44:24 */
+type Uint_least64_t = Uint64_t /* stdint.h:45:24 */
+
+// 7.18.1.3 Fastest-width integer types
+type Int_fast8_t = Int8_t /* stdint.h:49:27 */
+type Int_fast16_t = Int16_t /* stdint.h:50:26 */
+type Int_fast32_t = Int32_t /* stdint.h:51:26 */
+type Int_fast64_t = Int64_t /* stdint.h:52:26 */
+type Uint_fast8_t = Uint8_t /* stdint.h:53:26 */
+type Uint_fast16_t = Uint16_t /* stdint.h:54:25 */
+type Uint_fast32_t = Uint32_t /* stdint.h:55:25 */
+type Uint_fast64_t = Uint64_t /* stdint.h:56:25 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// 7.18.1.5 Greatest-width integer types
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Intmax_t = int64 /* _intmax_t.h:32:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */
+
+// 7.18.4 Macros for integer constants
+
+// 7.18.2 Limits of specified-width integer types:
+// These #defines specify the minimum and maximum limits
+// of each of the types declared above.
+//
+// They must have "the same type as would an expression that is an
+// object of the corresponding type converted according to the integer
+// promotion".
+
+// 7.18.2.1 Limits of exact-width integer types
+
+//
+// Note: the literal "most negative int" cannot be written in C --
+// the rules in the standard (section 6.4.4.1 in C99) will give it
+// an unsigned type, so INT32_MIN (and the most negative member of
+// any larger signed type) must be written via a constant expression.
+//
+
+// 7.18.2.2 Limits of minimum-width integer types
+
+// 7.18.2.3 Limits of fastest minimum-width integer types
+
+// 7.18.2.4 Limits of integer types capable of holding object pointers
+
+// 7.18.2.5 Limits of greatest-width integer types
+
+// 7.18.3 "Other"
+
+// WCHAR_MIN should be 0 if wchar_t is an unsigned type and
+// (-WCHAR_MAX-1) if wchar_t is a signed type. Unfortunately,
+// it turns out that -fshort-wchar changes the signedness of
+// the type.
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// [XSI] The timeval structure shall be defined as described in
+// <sys/time.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Timeval = struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
+} /* _timeval.h:34:1 */
+
+// The id_t type shall be defined as described in <sys/types.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Resource limit type (low 63 bits, excluding the sign bit)
+type Rlim_t = X__uint64_t /* resource.h:89:25 */
+
+// ****
+//
+// PRIORITY
+
+// Possible values of the first parameter to getpriority()/setpriority(),
+// used to indicate the type of the second parameter.
+
+// Range limitations for the value of the third parameter to setpriority().
+
+// use PRIO_DARWIN_BG to set the current thread into "background" state
+// which lowers CPU, disk IO, and networking priorites until thread terminates
+// or "background" state is revoked
+
+// use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to
+// the GPU. (deprecated)
+
+// ****
+//
+// RESOURCE USAGE
+
+// Possible values of the first parameter to getrusage(), used to indicate
+// the scope of the information to be returned.
+
+// A structure representing an accounting of resource utilization. The
+// address of an instance of this structure is the second parameter to
+// getrusage().
+//
+// Note: All values other than ru_utime and ru_stime are implementaiton
+// defined and subject to change in a future release. Their use
+// is discouraged for standards compliant programs.
+type Rusage = struct {
+ Fru_utime struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fru_stime struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fru_maxrss int64
+ Fru_ixrss int64
+ Fru_idrss int64
+ Fru_isrss int64
+ Fru_minflt int64
+ Fru_majflt int64
+ Fru_nswap int64
+ Fru_inblock int64
+ Fru_oublock int64
+ Fru_msgsnd int64
+ Fru_msgrcv int64
+ Fru_nsignals int64
+ Fru_nvcsw int64
+ Fru_nivcsw int64
+} /* resource.h:152:1 */
+
+// Flavors for proc_pid_rusage().
+
+type Rusage_info_t = uintptr /* resource.h:193:14 */
+
+type Rusage_info_v0 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+} /* resource.h:195:1 */
+
+type Rusage_info_v1 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+} /* resource.h:209:1 */
+
+type Rusage_info_v2 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+} /* resource.h:229:1 */
+
+type Rusage_info_v3 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+ Fri_cpu_time_qos_default Uint64_t
+ Fri_cpu_time_qos_maintenance Uint64_t
+ Fri_cpu_time_qos_background Uint64_t
+ Fri_cpu_time_qos_utility Uint64_t
+ Fri_cpu_time_qos_legacy Uint64_t
+ Fri_cpu_time_qos_user_initiated Uint64_t
+ Fri_cpu_time_qos_user_interactive Uint64_t
+ Fri_billed_system_time Uint64_t
+ Fri_serviced_system_time Uint64_t
+} /* resource.h:251:1 */
+
+type Rusage_info_v4 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+ Fri_cpu_time_qos_default Uint64_t
+ Fri_cpu_time_qos_maintenance Uint64_t
+ Fri_cpu_time_qos_background Uint64_t
+ Fri_cpu_time_qos_utility Uint64_t
+ Fri_cpu_time_qos_legacy Uint64_t
+ Fri_cpu_time_qos_user_initiated Uint64_t
+ Fri_cpu_time_qos_user_interactive Uint64_t
+ Fri_billed_system_time Uint64_t
+ Fri_serviced_system_time Uint64_t
+ Fri_logical_writes Uint64_t
+ Fri_lifetime_max_phys_footprint Uint64_t
+ Fri_instructions Uint64_t
+ Fri_cycles Uint64_t
+ Fri_billed_energy Uint64_t
+ Fri_serviced_energy Uint64_t
+ Fri_interval_max_phys_footprint Uint64_t
+ Fri_runnable_time Uint64_t
+} /* resource.h:282:1 */
+
+type Rusage_info_current = Rusage_info_v4 /* resource.h:321:31 */
+
+// ****
+//
+// RESOURCE LIMITS
+
+// Symbolic constants for resource limits; since all limits are representable
+// as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of
+// RLIM_INFINITY.
+
+// Possible values of the first parameter to getrlimit()/setrlimit(), to
+// indicate for which resource the operation is being performed.
+
+// A structure representing a resource limit. The address of an instance
+// of this structure is the second parameter to getrlimit()/setrlimit().
+type Rlimit = struct {
+ Frlim_cur Rlim_t
+ Frlim_max Rlim_t
+} /* resource.h:365:1 */
+
+// proc_rlimit_control()
+//
+// Resource limit flavors
+
+// Flags for wakeups monitor control.
+
+// Flags for CPU usage monitor control.
+
+// Flags for memory footprint interval tracking.
+
+type Proc_rlimit_control_wakeupmon = struct {
+ Fwm_flags Uint32_t
+ Fwm_rate Int32_t
+} /* resource.h:400:1 */
+
+// Deprecated:
+// Structure of the information in the status word returned by wait4.
+// If w_stopval==_WSTOPPED, then the second structure describes
+// the information returned, else the first.
+type Wait = struct{ Fw_status int32 } /* wait.h:194:1 */
+
+// built-in for gcc
+
+// built-in for gcc 3
+
+// DO NOT REMOVE THIS COMMENT: fixincludes needs to see:
+// _GCC_SIZE_T
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Ct_rune_t = X__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Rune_t = X__darwin_rune_t /* _rune_t.h:31:25 */
+
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:86:3 */
+
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:91:3 */
+
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:97:3 */
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Mode_t = X__darwin_mode_t /* _mode_t.h:31:33 */ // getsubopt(3) external variable
+// valloc is now declared in _malloc.h
+
+// Poison the following routines if -fshort-wchar is set
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_darwin_arm64.go b/vendor/modernc.org/libc/stdlib/stdlib_darwin_arm64.go
new file mode 100644
index 000000000..73290f2af
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_darwin_arm64.go
@@ -0,0 +1,4947 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_darwin_arm64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BUS_ADRALN = 1
+ BUS_ADRERR = 2
+ BUS_NOOP = 0
+ BUS_OBJERR = 3
+ BYTE_ORDER = 1234
+ CLD_CONTINUED = 6
+ CLD_DUMPED = 3
+ CLD_EXITED = 1
+ CLD_KILLED = 2
+ CLD_NOOP = 0
+ CLD_STOPPED = 5
+ CLD_TRAPPED = 4
+ CPUMON_MAKE_FATAL = 0x1000
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FOOTPRINT_INTERVAL_RESET = 0x1
+ FPE_FLTDIV = 1
+ FPE_FLTINV = 5
+ FPE_FLTOVF = 2
+ FPE_FLTRES = 4
+ FPE_FLTSUB = 6
+ FPE_FLTUND = 3
+ FPE_INTDIV = 7
+ FPE_INTOVF = 8
+ FPE_NOOP = 0
+ ILL_BADSTK = 8
+ ILL_COPROC = 7
+ ILL_ILLADR = 5
+ ILL_ILLOPC = 1
+ ILL_ILLOPN = 4
+ ILL_ILLTRP = 2
+ ILL_NOOP = 0
+ ILL_PRVOPC = 3
+ ILL_PRVREG = 6
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 32767
+ INT_FAST16_MIN = -32768
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 127
+ INT_FAST8_MIN = -128
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ IOPOL_APPLICATION = 5
+ IOPOL_ATIME_UPDATES_DEFAULT = 0
+ IOPOL_ATIME_UPDATES_OFF = 1
+ IOPOL_DEFAULT = 0
+ IOPOL_IMPORTANT = 1
+ IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
+ IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
+ IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
+ IOPOL_NORMAL = 1
+ IOPOL_PASSIVE = 2
+ IOPOL_SCOPE_DARWIN_BG = 2
+ IOPOL_SCOPE_PROCESS = 0
+ IOPOL_SCOPE_THREAD = 1
+ IOPOL_STANDARD = 5
+ IOPOL_THROTTLE = 3
+ IOPOL_TYPE_DISK = 0
+ IOPOL_TYPE_VFS_ATIME_UPDATES = 2
+ IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
+ IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
+ IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
+ IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
+ IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
+ IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
+ IOPOL_UTILITY = 4
+ IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
+ IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
+ IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
+ IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
+ IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
+ IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
+ IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
+ IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
+ IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
+ IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
+ LITTLE_ENDIAN = 1234
+ MAC_OS_VERSION_11_0 = 110000
+ MAC_OS_X_VERSION_10_0 = 1000
+ MAC_OS_X_VERSION_10_1 = 1010
+ MAC_OS_X_VERSION_10_10 = 101000
+ MAC_OS_X_VERSION_10_10_2 = 101002
+ MAC_OS_X_VERSION_10_10_3 = 101003
+ MAC_OS_X_VERSION_10_11 = 101100
+ MAC_OS_X_VERSION_10_11_2 = 101102
+ MAC_OS_X_VERSION_10_11_3 = 101103
+ MAC_OS_X_VERSION_10_11_4 = 101104
+ MAC_OS_X_VERSION_10_12 = 101200
+ MAC_OS_X_VERSION_10_12_1 = 101201
+ MAC_OS_X_VERSION_10_12_2 = 101202
+ MAC_OS_X_VERSION_10_12_4 = 101204
+ MAC_OS_X_VERSION_10_13 = 101300
+ MAC_OS_X_VERSION_10_13_1 = 101301
+ MAC_OS_X_VERSION_10_13_2 = 101302
+ MAC_OS_X_VERSION_10_13_4 = 101304
+ MAC_OS_X_VERSION_10_14 = 101400
+ MAC_OS_X_VERSION_10_14_1 = 101401
+ MAC_OS_X_VERSION_10_14_4 = 101404
+ MAC_OS_X_VERSION_10_14_6 = 101406
+ MAC_OS_X_VERSION_10_15 = 101500
+ MAC_OS_X_VERSION_10_15_1 = 101501
+ MAC_OS_X_VERSION_10_16 = 101600
+ MAC_OS_X_VERSION_10_2 = 1020
+ MAC_OS_X_VERSION_10_3 = 1030
+ MAC_OS_X_VERSION_10_4 = 1040
+ MAC_OS_X_VERSION_10_5 = 1050
+ MAC_OS_X_VERSION_10_6 = 1060
+ MAC_OS_X_VERSION_10_7 = 1070
+ MAC_OS_X_VERSION_10_8 = 1080
+ MAC_OS_X_VERSION_10_9 = 1090
+ MINSIGSTKSZ = 32768
+ NSIG = 32
+ PDP_ENDIAN = 3412
+ POLL_ERR = 4
+ POLL_HUP = 6
+ POLL_IN = 1
+ POLL_MSG = 3
+ POLL_OUT = 2
+ POLL_PRI = 5
+ PRIO_DARWIN_BG = 0x1000
+ PRIO_DARWIN_NONUI = 0x1001
+ PRIO_DARWIN_PROCESS = 4
+ PRIO_DARWIN_THREAD = 3
+ PRIO_MAX = 20
+ PRIO_MIN = -20
+ PRIO_PGRP = 1
+ PRIO_PROCESS = 0
+ PRIO_USER = 2
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ RAND_MAX = 0x7fffffff
+ RLIMIT_AS = 5
+ RLIMIT_CORE = 4
+ RLIMIT_CPU = 0
+ RLIMIT_CPU_USAGE_MONITOR = 0x2
+ RLIMIT_DATA = 2
+ RLIMIT_FOOTPRINT_INTERVAL = 0x4
+ RLIMIT_FSIZE = 1
+ RLIMIT_MEMLOCK = 6
+ RLIMIT_NOFILE = 8
+ RLIMIT_NPROC = 7
+ RLIMIT_RSS = 5
+ RLIMIT_STACK = 3
+ RLIMIT_THREAD_CPULIMITS = 0x3
+ RLIMIT_WAKEUPS_MONITOR = 0x1
+ RLIM_NLIMITS = 9
+ RSIZE_MAX = 9223372036854775807
+ RUSAGE_CHILDREN = -1
+ RUSAGE_INFO_CURRENT = 5
+ RUSAGE_INFO_V0 = 0
+ RUSAGE_INFO_V1 = 1
+ RUSAGE_INFO_V2 = 2
+ RUSAGE_INFO_V3 = 3
+ RUSAGE_INFO_V4 = 4
+ RUSAGE_INFO_V5 = 5
+ RUSAGE_SELF = 0
+ RU_PROC_RUNS_RESLIDE = 0x00000001
+ SA_64REGSET = 0x0200
+ SA_NOCLDSTOP = 0x0008
+ SA_NOCLDWAIT = 0x0020
+ SA_NODEFER = 0x0010
+ SA_ONSTACK = 0x0001
+ SA_RESETHAND = 0x0004
+ SA_RESTART = 0x0002
+ SA_SIGINFO = 0x0040
+ SA_USERSPACE_MASK = 127
+ SA_USERTRAMP = 0x0100
+ SEGV_ACCERR = 2
+ SEGV_MAPERR = 1
+ SEGV_NOOP = 0
+ SIGABRT = 6
+ SIGALRM = 14
+ SIGBUS = 10
+ SIGCHLD = 20
+ SIGCONT = 19
+ SIGEMT = 7
+ SIGEV_NONE = 0
+ SIGEV_SIGNAL = 1
+ SIGEV_THREAD = 3
+ SIGFPE = 8
+ SIGHUP = 1
+ SIGILL = 4
+ SIGINFO = 29
+ SIGINT = 2
+ SIGIO = 23
+ SIGIOT = 6
+ SIGKILL = 9
+ SIGPIPE = 13
+ SIGPROF = 27
+ SIGQUIT = 3
+ SIGSEGV = 11
+ SIGSTKSZ = 131072
+ SIGSTOP = 17
+ SIGSYS = 12
+ SIGTERM = 15
+ SIGTRAP = 5
+ SIGTSTP = 18
+ SIGTTIN = 21
+ SIGTTOU = 22
+ SIGURG = 16
+ SIGUSR1 = 30
+ SIGUSR2 = 31
+ SIGVTALRM = 26
+ SIGWINCH = 28
+ SIGXCPU = 24
+ SIGXFSZ = 25
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIG_BLOCK = 1
+ SIG_SETMASK = 3
+ SIG_UNBLOCK = 2
+ SIZE_MAX = 18446744073709551615
+ SI_ASYNCIO = 0x10004
+ SI_MESGQ = 0x10005
+ SI_QUEUE = 0x10002
+ SI_TIMER = 0x10003
+ SI_USER = 0x10001
+ SS_DISABLE = 0x0004
+ SS_ONSTACK = 0x0001
+ SV_INTERRUPT = 2
+ SV_NOCLDSTOP = 8
+ SV_NODEFER = 16
+ SV_ONSTACK = 1
+ SV_RESETHAND = 4
+ SV_SIGINFO = 64
+ TRAP_BRKPT = 1
+ TRAP_TRACE = 2
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 65535
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 255
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WAIT_ANY = -1
+ WAIT_MYPGRP = 0
+ WAKEMON_DISABLE = 0x02
+ WAKEMON_ENABLE = 0x01
+ WAKEMON_GET_PARAMS = 0x04
+ WAKEMON_MAKE_FATAL = 0x10
+ WAKEMON_SET_DEFAULTS = 0x08
+ WCHAR_MAX = 2147483647
+ WCHAR_MIN = -2147483648
+ WCONTINUED = 0x00000010
+ WCOREFLAG = 0200
+ WEXITED = 0x00000004
+ WINT_MAX = 2147483647
+ WINT_MIN = -2147483648
+ WNOHANG = 0x00000001
+ WNOWAIT = 0x00000020
+ WSTOPPED = 0x00000008
+ WUNTRACED = 0x00000002
+ X_ALLOCA_H_ = 0
+ X_ARM_ARCH_H = 0
+ X_ARM_SIGNAL_ = 1
+ X_ARM__ENDIAN_H_ = 0
+ X_BSD_ARM__TYPES_H_ = 0
+ X_BSD_MACHINE_ENDIAN_H_ = 0
+ X_BSD_MACHINE_SIGNAL_H_ = 0
+ X_BSD_MACHINE_TYPES_H_ = 0
+ X_BSD_MACHINE__TYPES_H_ = 0
+ X_CDEFS_H_ = 0
+ X_CT_RUNE_T = 0
+ X_DARWIN_FEATURE_64_BIT_INODE = 1
+ X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1
+ X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
+ X_DARWIN_FEATURE_ONLY_VERS_1050 = 1
+ X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
+ X_DEV_T = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FORTIFY_SOURCE = 2
+ X_GCC_WRAP_STDINT_H = 0
+ X_ID_T = 0
+ X_INT16_T = 0
+ X_INT32_T = 0
+ X_INT64_T = 0
+ X_INT8_T = 0
+ X_INTMAX_T = 0
+ X_INTPTR_T = 0
+ X_LP64 = 1
+ X_MACHTYPES_H_ = 0
+ X_MACH_ARM__STRUCTS_H_ = 0
+ X_MACH_MACHINE__STRUCTS_H_ = 0
+ X_MALLOC_UNDERSCORE_MALLOC_H_ = 0
+ X_MCONTEXT_T = 0
+ X_MODE_T = 0
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_OS_OSBYTEORDERARM_H = 0
+ X_OS__OSBYTEORDER_H = 0
+ X_PID_T = 0
+ X_PTHREAD_ATTR_T = 0
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_RLIMIT_POSIX_FLAG = 0x1000
+ X_RUNE_T = 0
+ X_SIGSET_T = 0
+ X_SIZE_T = 0
+ X_STDINT_H_ = 0
+ X_STDLIB_H_ = 0
+ X_SYS_RESOURCE_H_ = 0
+ X_SYS_SIGNAL_H_ = 0
+ X_SYS_WAIT_H_ = 0
+ X_SYS__ENDIAN_H_ = 0
+ X_SYS__PTHREAD_TYPES_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_UID_T = 0
+ X_UINT16_T = 0
+ X_UINT32_T = 0
+ X_UINT64_T = 0
+ X_UINT8_T = 0
+ X_UINTMAX_T = 0
+ X_UINTPTR_T = 0
+ X_U_INT16_T = 0
+ X_U_INT32_T = 0
+ X_U_INT64_T = 0
+ X_U_INT8_T = 0
+ X_WCHAR_T = 0
+ X_WSTOPPED = 0177
+)
+
+// Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1989, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)wait.h 8.2 (Berkeley) 7/10/94
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This file holds definitions relevent to the wait4 system call
+// and the alternate interfaces that use it (wait, wait3, waitpid).
+
+// [XSI] The type idtype_t shall be defined as an enumeration type whose
+// possible values shall include at least P_ALL, P_PID, and P_PGID.
+const ( /* wait.h:79:1: */
+ P_ALL = 0
+ P_PID = 1
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// -
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stdlib.h 8.5 (Berkeley) 5/19/95
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+//
+// These macros are for use in OS header files. They enable function prototypes
+// and Objective-C methods to be tagged with the OS version in which they
+// were first available; and, if applicable, the OS version in which they
+// became deprecated.
+//
+// The desktop Mac OS X and iOS each have different version numbers.
+// The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
+// and iOS version numbers. For instance:
+// __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)
+// means the function/method was first available on Mac OS X 10.2 on the desktop
+// and first available in iOS 2.0 on the iPhone.
+//
+// If a function is available on one platform, but not the other a _NA (not
+// applicable) parameter is used. For instance:
+// __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)
+// means that the function/method was first available on Mac OS X 10.3, and it
+// currently not implemented on the iPhone.
+//
+// At some point, a function/method may be deprecated. That means Apple
+// recommends applications stop using the function, either because there is a
+// better replacement or the functionality is being phased out. Deprecated
+// functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()
+// macro which specifies the OS version where the function became available
+// as well as the OS version in which it became deprecated. For instance:
+// __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
+// means that the function/method was introduced in Mac OS X 10.0, then
+// became deprecated beginning in Mac OS X 10.5. On iOS the function
+// has never been available.
+//
+// For these macros to function properly, a program must specify the OS version range
+// it is targeting. The min OS version is specified as an option to the compiler:
+// -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z
+// when building for the iPhone. The upper bound for the OS version is rarely needed,
+// but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for
+// Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS.
+//
+// Examples:
+//
+// A function available in Mac OS X 10.5 and later, but not on the phone:
+//
+// extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
+//
+//
+// An Objective-C method in Mac OS X 10.5 and later, but not on the phone:
+//
+// @interface MyClass : NSObject
+// -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
+// @end
+//
+//
+// An enum available on the phone, but not available on Mac OS X:
+//
+// #if __IPHONE_OS_VERSION_MIN_REQUIRED
+// enum { myEnum = 1 };
+// #endif
+// Note: this works when targeting the Mac OS X platform because
+// __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero.
+//
+//
+// An enum with values added in different iPhoneOS versions:
+//
+// enum {
+// myX = 1, // Usable on iPhoneOS 2.1 and later
+// myY = 2, // Usable on iPhoneOS 3.0 and later
+// myZ = 3, // Usable on iPhoneOS 3.0 and later
+// ...
+// Note: you do not want to use #if with enumeration values
+// when a client needs to see all values at compile time
+// and use runtime logic to only use the viable values.
+//
+//
+// It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one
+// source base that can be compiled to target a range of OS versions. It is best
+// to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.
+// That is because you might get compiled on an old OS that does not define a later
+// OS version macro, and in the C preprocessor undefined values evaluate to zero
+// in expresssions, which could cause the #if expression to evaluate in an unexpected
+// way.
+//
+// #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
+// // code only compiled when targeting Mac OS X and not iPhone
+// // note use of 1050 instead of __MAC_10_5
+// #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+// // code in here might run on pre-Leopard OS
+// #else
+// // code here can assume Leopard or later
+// #endif
+// #endif
+//
+//
+
+// __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated
+// in an upcoming release. This soft deprecation is an intermediate step before formal
+// deprecation to notify developers about the API before compiler warnings are generated.
+// You can find all places in your code that use soft deprecated API by redefining the
+// value of this macro to your current minimum deployment target, for example:
+// (macOS)
+// clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags>
+// (iOS)
+// clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags>
+
+// Copyright (c) 2019 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
+
+// __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
+
+// Set up standard Mac OS X versions
+
+// DO NOT EDIT THIS FILE.
+//
+// It has been auto-edited by fixincludes from:
+//
+// "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h"
+//
+// This had to be done to correct non-standard usages in the
+// original, manufacturer supplied header file.
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+//
+// File: AvailabilityInternal.h
+//
+// Contains: implementation details of __OSX_AVAILABLE_* macros from <Availability.h>
+//
+
+// compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+
+// make sure a default max version is set
+
+//
+// Macros for defining which versions/platform a given symbol can be used.
+//
+// @see http://clang.llvm.org/docs/AttributeReference.html#availability
+//
+
+// Evaluate to nothing for compilers that don't support clang language extensions.
+
+// Swift compiler version
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Example:
+//
+// #if __swift_compiler_version_at_least(800, 2, 20)
+// - (nonnull NSString *)description;
+// #else
+// - (NSString *)description;
+// #endif
+
+// If __SPI_AVAILABLE has not been defined elsewhere, disable it.
+
+// for use to document app extension usage
+
+// for use marking APIs available info for Mac OSX
+
+// for use marking APIs available info for iOS
+
+// for use marking APIs available info for tvOS
+
+// for use marking APIs available info for Watch OS
+
+// for use marking APIs unavailable for swift
+
+//
+// Macros for defining which versions/platform a given symbol can be used.
+//
+// @see http://clang.llvm.org/docs/AttributeReference.html#availability
+//
+// * Note that these macros are only compatible with clang compilers that
+// * support the following target selection options:
+// *
+// * -mmacosx-version-min
+// * -miphoneos-version-min
+// * -mwatchos-version-min
+// * -mtvos-version-min
+//
+
+// Evaluate to nothing for compilers that don't support clang language extensions.
+
+// If SPI decorations have not been defined elsewhere, disable them.
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// This SDK is designed to work with clang and specific versions of
+// gcc >= 4.0 with Apple's patch sets
+
+// Compatibility with compilers and environments that don't support compiler
+// feature checking function-like macros.
+
+// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
+// in between its arguments. __CONCAT can also concatenate double-quoted
+// strings produced by the __STRING macro, but this only works with ANSI C.
+
+// __unused denotes variables and functions that may not be used, preventing
+// the compiler from warning about it if not used.
+
+// __used forces variables and functions to be included even if it appears
+// to the compiler that they are not used (and would thust be discarded).
+
+// __cold marks code used for debugging or that is rarely taken
+// and tells the compiler to optimize for size and outline code.
+
+// __exported denotes symbols that should be exported even when symbols
+// are hidden by default.
+// __exported_push/_exported_pop are pragmas used to delimit a range of
+// symbols that should be exported even when symbols are hidden by default.
+
+// __deprecated causes the compiler to produce a warning when encountering
+// code using the deprecated functionality.
+// __deprecated_msg() does the same, and compilers that support it will print
+// a message along with the deprecation warning.
+// This may require turning on such warning with the -Wdeprecated flag.
+// __deprecated_enum_msg() should be used on enums, and compilers that support
+// it will print the deprecation warning.
+// __kpi_deprecated() specifically indicates deprecation of kernel programming
+// interfaces in Kernel.framework used by KEXTs.
+
+// __unavailable causes the compiler to error out when encountering
+// code using the tagged function
+
+// Delete pseudo-keywords wherever they are not available or needed.
+
+// We use `__restrict' as a way to define the `restrict' type qualifier
+// without disturbing older software that is unaware of C99 keywords.
+
+// Compatibility with compilers and environments that don't support the
+// nullability feature.
+
+// __disable_tail_calls causes the compiler to not perform tail call
+// optimization inside the marked function.
+
+// __not_tail_called causes the compiler to prevent tail call optimization
+// on statically bound calls to the function. It has no effect on indirect
+// calls. Virtual functions, objective-c methods, and functions marked as
+// "always_inline" cannot be marked as __not_tail_called.
+
+// __result_use_check warns callers of a function that not using the function
+// return value is a bug, i.e. dismissing malloc() return value results in a
+// memory leak.
+
+// __swift_unavailable causes the compiler to mark a symbol as specifically
+// unavailable in Swift, regardless of any other availability in C.
+
+// __abortlike is the attribute to put on functions like abort() that are
+// typically used to mark assertions. These optimize the codegen
+// for outlining while still maintaining debugability.
+
+// Declaring inline functions within headers is error-prone due to differences
+// across various versions of the C language and extensions. __header_inline
+// can be used to declare inline functions within system headers. In cases
+// where you want to force inlining instead of letting the compiler make
+// the decision, you can use __header_always_inline.
+//
+// Be aware that using inline for functions which compilers may also provide
+// builtins can behave differently under various compilers. If you intend to
+// provide an inline version of such a function, you may want to use a macro
+// instead.
+//
+// The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
+// support c99 inline in some cases:
+// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
+
+// Compiler-dependent macros that bracket portions of code where the
+// "-Wunreachable-code" warning should be ignored. Please use sparingly.
+
+// Compiler-dependent macros to declare that functions take printf-like
+// or scanf-like arguments. They are null except for versions of gcc
+// that are known to support the features properly. Functions declared
+// with these attributes will cause compilation warnings if there is a
+// mismatch between the format string and subsequent function parameter
+// types.
+
+// Source compatibility only, ID string not emitted in object file
+
+// __alloc_size can be used to label function arguments that represent the
+// size of memory that the function allocates and returns. The one-argument
+// form labels a single argument that gives the allocation size (where the
+// arguments are numbered from 1):
+//
+// void *malloc(size_t __size) __alloc_size(1);
+//
+// The two-argument form handles the case where the size is calculated as the
+// product of two arguments:
+//
+// void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
+
+// COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
+//
+// DEFAULT By default newly complied code will get POSIX APIs plus
+// Apple API extensions in scope.
+//
+// Most users will use this compilation environment to avoid
+// behavioral differences between 32 and 64 bit code.
+//
+// LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
+// API extensions in scope.
+//
+// This is generally equivalent to the Tiger release compilation
+// environment, except that it cannot be applied to 64 bit code;
+// its use is discouraged.
+//
+// We expect this environment to be deprecated in the future.
+//
+// STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
+// available APIs to exactly the set of APIs defined by the
+// corresponding standard, based on the value defined.
+//
+// A correct, portable definition for _POSIX_C_SOURCE is 200112L.
+// A correct, portable definition for _XOPEN_SOURCE is 600L.
+//
+// Apple API extensions are not visible in this environment,
+// which can cause Apple specific code to fail to compile,
+// or behave incorrectly if prototypes are not in scope or
+// warnings about missing prototypes are not enabled or ignored.
+//
+// In any compilation environment, for correct symbol resolution to occur,
+// function prototypes must be in scope. It is recommended that all Apple
+// tools users add either the "-Wall" or "-Wimplicit-function-declaration"
+// compiler flags to their projects to be warned when a function is being
+// used without a prototype in scope.
+
+// These settings are particular to each product.
+// Platform: MacOSX
+
+// The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
+// legacy code to use the old symbol, thus maintaining binary compatibility
+// while new code can use a standards compliant version of the same function.
+//
+// __DARWIN_ALIAS is used by itself if the function signature has not
+// changed, it is used along with a #ifdef check for __DARWIN_UNIX03
+// if the signature has changed. Because the __LP64__ environment
+// only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
+// defined, but causes __DARWIN_ALIAS to do no symbol mangling.
+//
+// As a special case, when XCode is used to target a specific version of the
+// OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+// will be defined by the compiler, with the digits representing major version
+// time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
+// pre-10.5, and it is the default compilation environment, revert the
+// compilation environment to pre-__DARWIN_UNIX03.
+
+// symbol suffixes used for symbol versioning
+
+// symbol versioning macros
+
+// symbol release macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// POSIX.1 requires that the macros we test be defined before any standard
+// header file is included. This permits us to convert values for feature
+// testing, as necessary, using only _POSIX_C_SOURCE.
+//
+// Here's a quick run-down of the versions:
+// defined(_POSIX_SOURCE) 1003.1-1988
+// _POSIX_C_SOURCE == 1L 1003.1-1990
+// _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
+// _POSIX_C_SOURCE == 199309L 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
+// and the omnibus ISO/IEC 9945-1: 1996
+// _POSIX_C_SOURCE == 200112L 1003.1-2001
+// _POSIX_C_SOURCE == 200809L 1003.1-2008
+//
+// In addition, the X/Open Portability Guide, which is now the Single UNIX
+// Specification, defines a feature-test macro which indicates the version of
+// that specification, and which subsumes _POSIX_C_SOURCE.
+
+// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
+
+// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
+
+// Deal with various X/Open Portability Guides and Single UNIX Spec.
+
+// Deal with all versions of POSIX. The ordering relative to the tests above is
+// important.
+
+// POSIX C deprecation macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Set a single macro which will always be defined and can be used to determine
+// the appropriate namespace. For POSIX, these values will correspond to
+// _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
+// to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
+
+// If the developer has neither requested a strict language mode nor a version
+// of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
+// of __DARWIN_C_FULL.
+
+// long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
+// c99 still want long longs. While not perfect, we allow long longs for
+// g++.
+
+// ****************************************
+//
+// Public darwin-specific feature macros
+//
+
+// _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
+// structures modified for 64-bit inodes (like struct stat) will be used.
+
+// _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
+// be 64-bit; there is no support for 32-bit ino_t when this macro is defined
+// (and non-zero). There is no struct stat64 either, as the regular
+// struct stat will already be the 64-bit version.
+
+// _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
+// in 10.5 exists; no pre-10.5 variants are available.
+
+// _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
+// are available (the legacy BSD APIs are not available)
+
+// _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
+// and specifies the conformance level (3 is SUSv3)
+
+// This macro casts away the qualifier from the variable
+//
+// Note: use at your own risk, removing qualifiers can result in
+// catastrophic run-time failures.
+
+// __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
+// used from other compilation units, but not other libraries or executables.
+
+// Architecture validation for current SDK
+
+// Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
+//
+// This provides more advanced type checking on compilers supporting
+// the proper extensions, even in C.
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+
+// This header file contains integer types. It's intended to also contain
+// flotaing point and other arithmetic types, as needed, later.
+
+type X__int8_t = int8 /* _types.h:13:33 */
+type X__uint8_t = uint8 /* _types.h:17:33 */
+type X__int16_t = int16 /* _types.h:18:33 */
+type X__uint16_t = uint16 /* _types.h:19:33 */
+type X__int32_t = int32 /* _types.h:20:33 */
+type X__uint32_t = uint32 /* _types.h:21:33 */
+type X__int64_t = int64 /* _types.h:22:33 */
+type X__uint64_t = uint64 /* _types.h:23:33 */
+
+type X__darwin_intptr_t = int64 /* _types.h:25:33 */
+type X__darwin_natural_t = uint32 /* _types.h:26:33 */
+
+// The rune type below is declared to be an ``int'' instead of the more natural
+// ``unsigned long'' or ``long''. Two things are happening here. It is not
+// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+// it looks like 10646 will be a 31 bit standard. This means that if your
+// ints cannot hold 32 bits, you will be in trouble. The reason an int was
+// chosen over a long is that the is*() and to*() routines take ints (says
+// ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
+// here, you lose a bit of ANSI conformance, but your programs will still
+// work.
+//
+// NOTE: rune_t is not covered by ANSI nor other standards, and should not
+// be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+// rune_t must be the same type. Also wint_t must be no narrower than
+// wchar_t, and should also be able to hold all members of the largest
+// character set plus one extra value (WEOF). wint_t must be at least 16 bits.
+
+type X__darwin_ct_rune_t = int32 /* _types.h:46:33 */ // ct_rune_t
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ _ [0]uint64
+ F__mbstate8 [128]int8
+} /* _types.h:55:3 */
+
+type X__darwin_mbstate_t = X__mbstate_t /* _types.h:57:33 */ // mbstate_t
+
+type X__darwin_ptrdiff_t = int64 /* _types.h:60:33 */ // ptr1 - ptr2
+
+type X__darwin_size_t = uint64 /* _types.h:68:33 */ // sizeof()
+
+type X__darwin_va_list = X__builtin_va_list /* _types.h:74:33 */ // va_list
+
+type X__darwin_wchar_t = int32 /* _types.h:80:33 */ // wchar_t
+
+type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:85:33 */ // rune_t
+
+type X__darwin_wint_t = int32 /* _types.h:88:33 */ // wint_t
+
+type X__darwin_clock_t = uint64 /* _types.h:93:33 */ // clock()
+type X__darwin_socklen_t = X__uint32_t /* _types.h:94:33 */ // socklen_t (duh)
+type X__darwin_ssize_t = int64 /* _types.h:95:33 */ // byte count or error
+type X__darwin_time_t = int64 /* _types.h:96:33 */ // time()
+
+// Type definitions; takes common type definitions that must be used
+// in multiple header files due to [XSI], removes them from the system
+// space, and puts them in the implementation space.
+
+type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
+type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
+type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
+type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
+type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
+type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
+type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
+type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
+type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
+type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
+type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
+type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
+type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
+type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
+type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
+type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
+type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
+type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
+type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
+type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
+
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// pthread opaque structures
+
+type X__darwin_pthread_handler_rec = struct {
+ F__routine uintptr
+ F__arg uintptr
+ F__next uintptr
+} /* _pthread_types.h:57:1 */
+
+type X_opaque_pthread_attr_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:63:1 */
+
+type X_opaque_pthread_cond_t = struct {
+ F__sig int64
+ F__opaque [40]int8
+} /* _pthread_types.h:68:1 */
+
+type X_opaque_pthread_condattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:73:1 */
+
+type X_opaque_pthread_mutex_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:78:1 */
+
+type X_opaque_pthread_mutexattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:83:1 */
+
+type X_opaque_pthread_once_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:88:1 */
+
+type X_opaque_pthread_rwlock_t = struct {
+ F__sig int64
+ F__opaque [192]int8
+} /* _pthread_types.h:93:1 */
+
+type X_opaque_pthread_rwlockattr_t = struct {
+ F__sig int64
+ F__opaque [16]int8
+} /* _pthread_types.h:98:1 */
+
+type X_opaque_pthread_t = struct {
+ F__sig int64
+ F__cleanup_stack uintptr
+ F__opaque [8176]int8
+} /* _pthread_types.h:103:1 */
+
+type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
+type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
+type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
+type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
+type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
+type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
+type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
+type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
+type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
+type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type X__darwin_nl_item = int32 /* _types.h:40:14 */
+type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
+type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
+
+// Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1989, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)wait.h 8.2 (Berkeley) 7/10/94
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This file holds definitions relevent to the wait4 system call
+// and the alternate interfaces that use it (wait, wait3, waitpid).
+
+// [XSI] The type idtype_t shall be defined as an enumeration type whose
+// possible values shall include at least P_ALL, P_PID, and P_PGID.
+type Idtype_t = uint32 /* wait.h:83:3 */
+
+// [XSI] The id_t and pid_t types shall be defined as described
+// in <sys/types.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Id_t = X__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t
+
+// [XSI] The siginfo_t type shall be defined as described in <signal.h>
+// [XSI] The rusage structure shall be defined as described in <sys/resource.h>
+// [XSI] Inclusion of the <sys/wait.h> header may also make visible all
+// symbols from <signal.h> and <sys/resource.h>
+//
+// NOTE: This requirement is currently being satisfied by the direct
+// inclusion of <sys/signal.h> and <sys/resource.h>, below.
+//
+// Software should not depend on the exposure of anything other
+// than the types siginfo_t and struct rusage as a result of
+// this inclusion. If you depend on any types or manifest
+// values othe than siginfo_t and struct rusage from either of
+// those files, you should explicitly include them yourself, as
+// well, or in future releases your stware may not compile
+// without modification.
+// Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.2 (Berkeley) 1/21/94
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2009 Apple, Inc. All rights reserved.
+// Copyright (c) 1992 NeXT Computer, Inc.
+//
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+type Sig_atomic_t = int32 /* signal.h:15:13 */
+
+// Language spec sez we must list exactly one parameter, even though we
+// actually supply three. Ugh!
+// SIG_HOLD is chosen to avoid KERN_SIG_* values in <sys/signalvar.h>
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2004-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// @OSF_COPYRIGHT@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+// Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.3 (Berkeley) 1/5/94
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Basic integral types. Omit the typedef if
+// not possible for a machine/compiler combination.
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int8_t = int8 /* _int8_t.h:30:31 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int16_t = int16 /* _int16_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int32_t = int32 /* _int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Int64_t = int64 /* _int64_t.h:30:33 */
+
+// Copyright (c) 2016 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
+
+type Register_t = Int64_t /* types.h:63:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Uintptr_t = uint64 /* _uintptr_t.h:30:33 */
+
+// These types are used for reserving the largest possible size.
+type User_addr_t = U_int64_t /* types.h:74:33 */
+type User_size_t = U_int64_t /* types.h:75:33 */
+type User_ssize_t = Int64_t /* types.h:76:33 */
+type User_long_t = Int64_t /* types.h:77:33 */
+type User_ulong_t = U_int64_t /* types.h:78:33 */
+type User_time_t = Int64_t /* types.h:79:33 */
+type User_off_t = Int64_t /* types.h:80:33 */
+
+// This defines the size of syscall arguments after copying into the kernel:
+type Syscall_arg_t = U_int64_t /* types.h:101:33 */
+
+type X__darwin_arm_exception_state = struct {
+ F__exception X__uint32_t
+ F__fsr X__uint32_t
+ F__far X__uint32_t
+} /* _structs.h:39:1 */
+
+type X__darwin_arm_exception_state64 = struct {
+ F__far X__uint64_t
+ F__esr X__uint32_t
+ F__exception X__uint32_t
+} /* _structs.h:57:1 */
+
+type X__darwin_arm_thread_state = struct {
+ F__r [13]X__uint32_t
+ F__sp X__uint32_t
+ F__lr X__uint32_t
+ F__pc X__uint32_t
+ F__cpsr X__uint32_t
+} /* _structs.h:75:1 */
+
+// By default, the pointer fields in the arm_thread_state64_t structure are
+// opaque on the arm64e architecture and require the use of accessor macros.
+// This mode can also be enabled on the arm64 architecture by building with
+// -D__DARWIN_OPAQUE_ARM_THREAD_STATE64=1.
+
+type X__darwin_arm_thread_state64 = struct {
+ F__x [29]X__uint64_t
+ F__fp X__uint64_t
+ F__lr X__uint64_t
+ F__sp X__uint64_t
+ F__pc X__uint64_t
+ F__cpsr X__uint32_t
+ F__pad X__uint32_t
+} /* _structs.h:134:1 */
+
+// Accessor macros for arm_thread_state64_t pointer fields
+
+// Return pc field of arm_thread_state64_t as a data pointer value
+// Return pc field of arm_thread_state64_t as a function pointer
+// Set pc field of arm_thread_state64_t to a function pointer
+// Return lr field of arm_thread_state64_t as a data pointer value
+// Return lr field of arm_thread_state64_t as a function pointer
+// Set lr field of arm_thread_state64_t to a function pointer
+// Return sp field of arm_thread_state64_t as a data pointer value
+// Set sp field of arm_thread_state64_t to a data pointer value
+// Return fp field of arm_thread_state64_t as a data pointer value
+// Set fp field of arm_thread_state64_t to a data pointer value
+// Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t
+
+type X__darwin_arm_vfp_state = struct {
+ F__r [64]X__uint32_t
+ F__fpscr X__uint32_t
+} /* _structs.h:422:1 */
+
+type X__darwin_arm_neon_state64 = struct {
+ F__v [32]X__uint128_t
+ F__fpsr X__uint32_t
+ F__fpcr X__uint32_t
+} /* _structs.h:441:1 */
+
+type X__darwin_arm_neon_state = struct {
+ F__v [16]X__uint128_t
+ F__fpsr X__uint32_t
+ F__fpcr X__uint32_t
+} /* _structs.h:448:1 */
+
+type X__darwin_arm_amx_state_v1 = struct {
+ F__ccgo_pad1 [0]uint64
+ F__x [8][64]X__uint8_t
+ F__y [8][64]X__uint8_t
+ F__z [64][64]X__uint8_t
+ F__amx_state_t_el1 X__uint64_t
+} /* _structs.h:512:1 */
+
+type X__arm_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:531:1 */
+
+// Debug State
+
+// ARM's arm_debug_state is ARM64's arm_legacy_debug_state
+
+type X__arm_legacy_debug_state = struct {
+ F__bvr [16]X__uint32_t
+ F__bcr [16]X__uint32_t
+ F__wvr [16]X__uint32_t
+ F__wcr [16]X__uint32_t
+} /* _structs.h:568:1 */
+
+type X__darwin_arm_debug_state32 = struct {
+ F__bvr [16]X__uint32_t
+ F__bcr [16]X__uint32_t
+ F__wvr [16]X__uint32_t
+ F__wcr [16]X__uint32_t
+ F__mdscr_el1 X__uint64_t
+} /* _structs.h:591:1 */
+
+type X__darwin_arm_debug_state64 = struct {
+ F__bvr [16]X__uint64_t
+ F__bcr [16]X__uint64_t
+ F__wvr [16]X__uint64_t
+ F__wcr [16]X__uint64_t
+ F__mdscr_el1 X__uint64_t
+} /* _structs.h:601:1 */
+
+type X__darwin_arm_cpmu_state64 = struct{ F__ctrs [16]X__uint64_t } /* _structs.h:633:1 */
+
+type X__darwin_mcontext32 = struct {
+ F__es struct {
+ F__exception X__uint32_t
+ F__fsr X__uint32_t
+ F__far X__uint32_t
+ }
+ F__ss struct {
+ F__r [13]X__uint32_t
+ F__sp X__uint32_t
+ F__lr X__uint32_t
+ F__pc X__uint32_t
+ F__cpsr X__uint32_t
+ }
+ F__fs struct {
+ F__r [64]X__uint32_t
+ F__fpscr X__uint32_t
+ }
+} /* _mcontext.h:39:1 */
+
+type X__darwin_mcontext64 = struct {
+ F__es struct {
+ F__far X__uint64_t
+ F__esr X__uint32_t
+ F__exception X__uint32_t
+ }
+ F__ss struct {
+ F__x [29]X__uint64_t
+ F__fp X__uint64_t
+ F__lr X__uint64_t
+ F__sp X__uint64_t
+ F__pc X__uint64_t
+ F__cpsr X__uint32_t
+ F__pad X__uint32_t
+ }
+ F__ns struct {
+ F__v [32]X__uint128_t
+ F__fpsr X__uint32_t
+ F__fpcr X__uint32_t
+ }
+} /* _mcontext.h:62:1 */
+
+type Mcontext_t = uintptr /* _mcontext.h:83:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Structure used in sigaltstack call.
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+
+type X__darwin_sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* _sigaltstack.h:42:1 */
+
+type Stack_t = X__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Structure used in sigaltstack call.
+
+type X__darwin_ucontext = struct {
+ Fuc_onstack int32
+ Fuc_sigmask X__darwin_sigset_t
+ Fuc_stack struct {
+ Fss_sp uintptr
+ Fss_size X__darwin_size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+ }
+ Fuc_link uintptr
+ Fuc_mcsize X__darwin_size_t
+ Fuc_mcontext uintptr
+} /* _ucontext.h:43:1 */
+
+// user context
+type Ucontext_t = X__darwin_ucontext /* _ucontext.h:57:33 */ // [???] user context
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Sigset_t = X__darwin_sigset_t /* _sigset_t.h:31:41 */
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */
+
+type Sigval = struct {
+ _ [0]uint64
+ Fsival_int int32
+ _ [4]byte
+} /* signal.h:158:1 */
+
+type Sigevent = struct {
+ Fsigev_notify int32
+ Fsigev_signo int32
+ Fsigev_value struct {
+ _ [0]uint64
+ Fsival_int int32
+ _ [4]byte
+ }
+ Fsigev_notify_function uintptr
+ Fsigev_notify_attributes uintptr
+} /* signal.h:168:1 */
+
+type X__siginfo = struct {
+ Fsi_signo int32
+ Fsi_errno int32
+ Fsi_code int32
+ Fsi_pid Pid_t
+ Fsi_uid Uid_t
+ Fsi_status int32
+ Fsi_addr uintptr
+ Fsi_value struct {
+ _ [0]uint64
+ Fsival_int int32
+ _ [4]byte
+ }
+ Fsi_band int64
+ F__pad [7]uint64
+} /* signal.h:177:9 */
+
+type Siginfo_t = X__siginfo /* signal.h:188:3 */
+
+// When the signal is SIGILL or SIGFPE, si_addr contains the address of
+// the faulting instruction.
+// When the signal is SIGSEGV or SIGBUS, si_addr contains the address of
+// the faulting memory reference. Although for x86 there are cases of SIGSEGV
+// for which si_addr cannot be determined and is NULL.
+// If the signal is SIGCHLD, the si_pid field will contain the child process ID,
+// si_status contains the exit value or signal and
+// si_uid contains the real user ID of the process that sent the signal.
+
+// Values for si_code
+
+// Codes for SIGILL
+
+// Codes for SIGFPE
+
+// Codes for SIGSEGV
+
+// Codes for SIGBUS
+
+// Codes for SIGTRAP
+
+// Codes for SIGCHLD
+
+// Codes for SIGPOLL
+
+// union for signal handlers
+type X__sigaction_u = struct{ F__sa_handler uintptr } /* signal.h:269:1 */
+
+// Signal vector template for Kernel user boundary
+type X__sigaction = struct {
+ F__sigaction_u struct{ F__sa_handler uintptr }
+ Fsa_tramp uintptr
+ Fsa_mask Sigset_t
+ Fsa_flags int32
+} /* signal.h:276:1 */
+
+// Signal vector "template" used in sigaction call.
+type Sigaction = struct {
+ F__sigaction_u struct{ F__sa_handler uintptr }
+ Fsa_mask Sigset_t
+ Fsa_flags int32
+} /* signal.h:286:1 */
+
+// if SA_SIGINFO is set, sa_sigaction is to be used instead of sa_handler.
+
+// This will provide 64bit register set in a 32bit user address space
+
+// the following are the only bits we support from user space, the
+// rest are for kernel use only.
+
+// Flags for sigprocmask:
+
+// POSIX 1003.1b required values.
+
+type Sig_t = uintptr /* signal.h:331:14 */ // type of signal function
+
+// Structure used in sigaltstack call.
+
+// 4.3 compatibility:
+// Signal vector "template" used in sigvec call.
+type Sigvec = struct {
+ Fsv_handler uintptr
+ Fsv_mask int32
+ Fsv_flags int32
+} /* signal.h:348:1 */
+
+// Structure used in sigstack call.
+type Sigstack = struct {
+ Fss_sp uintptr
+ Fss_onstack int32
+ F__ccgo_pad1 [4]byte
+} /* signal.h:367:1 */
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)resource.h 8.2 (Berkeley) 1/4/94
+
+// Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// DO NOT EDIT THIS FILE.
+//
+// It has been auto-edited by fixincludes from:
+//
+// "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h"
+//
+// This had to be done to correct non-standard usages in the
+// original, manufacturer supplied header file.
+
+// Copyright (c) 2000-2010 Apple Inc.
+// All rights reserved.
+
+// from ISO/IEC 988:1999 spec
+
+// 7.18.1.1 Exact-width integer types
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint8_t = uint8 /* _uint8_t.h:31:23 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint16_t = uint16 /* _uint16_t.h:31:24 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint32_t = uint32 /* _uint32_t.h:31:22 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uint64_t = uint64 /* _uint64_t.h:31:28 */
+
+// 7.18.1.2 Minimum-width integer types
+type Int_least8_t = Int8_t /* stdint.h:38:26 */
+type Int_least16_t = Int16_t /* stdint.h:39:25 */
+type Int_least32_t = Int32_t /* stdint.h:40:25 */
+type Int_least64_t = Int64_t /* stdint.h:41:25 */
+type Uint_least8_t = Uint8_t /* stdint.h:42:25 */
+type Uint_least16_t = Uint16_t /* stdint.h:43:24 */
+type Uint_least32_t = Uint32_t /* stdint.h:44:24 */
+type Uint_least64_t = Uint64_t /* stdint.h:45:24 */
+
+// 7.18.1.3 Fastest-width integer types
+type Int_fast8_t = Int8_t /* stdint.h:49:27 */
+type Int_fast16_t = Int16_t /* stdint.h:50:26 */
+type Int_fast32_t = Int32_t /* stdint.h:51:26 */
+type Int_fast64_t = Int64_t /* stdint.h:52:26 */
+type Uint_fast8_t = Uint8_t /* stdint.h:53:26 */
+type Uint_fast16_t = Uint16_t /* stdint.h:54:25 */
+type Uint_fast32_t = Uint32_t /* stdint.h:55:25 */
+type Uint_fast64_t = Uint64_t /* stdint.h:56:25 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// 7.18.1.5 Greatest-width integer types
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Intmax_t = int64 /* _intmax_t.h:32:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */
+
+// 7.18.4 Macros for integer constants
+
+// 7.18.2 Limits of specified-width integer types:
+// These #defines specify the minimum and maximum limits
+// of each of the types declared above.
+//
+// They must have "the same type as would an expression that is an
+// object of the corresponding type converted according to the integer
+// promotion".
+
+// 7.18.2.1 Limits of exact-width integer types
+
+//
+// Note: the literal "most negative int" cannot be written in C --
+// the rules in the standard (section 6.4.4.1 in C99) will give it
+// an unsigned type, so INT32_MIN (and the most negative member of
+// any larger signed type) must be written via a constant expression.
+//
+
+// 7.18.2.2 Limits of minimum-width integer types
+
+// 7.18.2.3 Limits of fastest minimum-width integer types
+
+// 7.18.2.4 Limits of integer types capable of holding object pointers
+
+// 7.18.2.5 Limits of greatest-width integer types
+
+// 7.18.3 "Other"
+
+// WCHAR_MIN should be 0 if wchar_t is an unsigned type and
+// (-WCHAR_MAX-1) if wchar_t is a signed type. Unfortunately,
+// it turns out that -fshort-wchar changes the signedness of
+// the type.
+
+// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// [XSI] The timeval structure shall be defined as described in
+// <sys/time.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Timeval = struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
+} /* _timeval.h:34:1 */
+
+// The id_t type shall be defined as described in <sys/types.h>
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Resource limit type (low 63 bits, excluding the sign bit)
+type Rlim_t = X__uint64_t /* resource.h:89:25 */
+
+// ****
+//
+// PRIORITY
+
+// Possible values of the first parameter to getpriority()/setpriority(),
+// used to indicate the type of the second parameter.
+
+// Range limitations for the value of the third parameter to setpriority().
+
+// use PRIO_DARWIN_BG to set the current thread into "background" state
+// which lowers CPU, disk IO, and networking priorites until thread terminates
+// or "background" state is revoked
+
+// use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to
+// the GPU. (deprecated)
+
+// ****
+//
+// RESOURCE USAGE
+
+// Possible values of the first parameter to getrusage(), used to indicate
+// the scope of the information to be returned.
+
+// A structure representing an accounting of resource utilization. The
+// address of an instance of this structure is the second parameter to
+// getrusage().
+//
+// Note: All values other than ru_utime and ru_stime are implementaiton
+// defined and subject to change in a future release. Their use
+// is discouraged for standards compliant programs.
+type Rusage = struct {
+ Fru_utime struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fru_stime struct {
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fru_maxrss int64
+ Fru_ixrss int64
+ Fru_idrss int64
+ Fru_isrss int64
+ Fru_minflt int64
+ Fru_majflt int64
+ Fru_nswap int64
+ Fru_inblock int64
+ Fru_oublock int64
+ Fru_msgsnd int64
+ Fru_msgrcv int64
+ Fru_nsignals int64
+ Fru_nvcsw int64
+ Fru_nivcsw int64
+} /* resource.h:152:1 */
+
+// Flavors for proc_pid_rusage().
+
+// Flags for RUSAGE_INFO_V5
+
+type Rusage_info_t = uintptr /* resource.h:199:14 */
+
+type Rusage_info_v0 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+} /* resource.h:201:1 */
+
+type Rusage_info_v1 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+} /* resource.h:215:1 */
+
+type Rusage_info_v2 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+} /* resource.h:235:1 */
+
+type Rusage_info_v3 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+ Fri_cpu_time_qos_default Uint64_t
+ Fri_cpu_time_qos_maintenance Uint64_t
+ Fri_cpu_time_qos_background Uint64_t
+ Fri_cpu_time_qos_utility Uint64_t
+ Fri_cpu_time_qos_legacy Uint64_t
+ Fri_cpu_time_qos_user_initiated Uint64_t
+ Fri_cpu_time_qos_user_interactive Uint64_t
+ Fri_billed_system_time Uint64_t
+ Fri_serviced_system_time Uint64_t
+} /* resource.h:257:1 */
+
+type Rusage_info_v4 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+ Fri_cpu_time_qos_default Uint64_t
+ Fri_cpu_time_qos_maintenance Uint64_t
+ Fri_cpu_time_qos_background Uint64_t
+ Fri_cpu_time_qos_utility Uint64_t
+ Fri_cpu_time_qos_legacy Uint64_t
+ Fri_cpu_time_qos_user_initiated Uint64_t
+ Fri_cpu_time_qos_user_interactive Uint64_t
+ Fri_billed_system_time Uint64_t
+ Fri_serviced_system_time Uint64_t
+ Fri_logical_writes Uint64_t
+ Fri_lifetime_max_phys_footprint Uint64_t
+ Fri_instructions Uint64_t
+ Fri_cycles Uint64_t
+ Fri_billed_energy Uint64_t
+ Fri_serviced_energy Uint64_t
+ Fri_interval_max_phys_footprint Uint64_t
+ Fri_runnable_time Uint64_t
+} /* resource.h:288:1 */
+
+type Rusage_info_v5 = struct {
+ Fri_uuid [16]Uint8_t
+ Fri_user_time Uint64_t
+ Fri_system_time Uint64_t
+ Fri_pkg_idle_wkups Uint64_t
+ Fri_interrupt_wkups Uint64_t
+ Fri_pageins Uint64_t
+ Fri_wired_size Uint64_t
+ Fri_resident_size Uint64_t
+ Fri_phys_footprint Uint64_t
+ Fri_proc_start_abstime Uint64_t
+ Fri_proc_exit_abstime Uint64_t
+ Fri_child_user_time Uint64_t
+ Fri_child_system_time Uint64_t
+ Fri_child_pkg_idle_wkups Uint64_t
+ Fri_child_interrupt_wkups Uint64_t
+ Fri_child_pageins Uint64_t
+ Fri_child_elapsed_abstime Uint64_t
+ Fri_diskio_bytesread Uint64_t
+ Fri_diskio_byteswritten Uint64_t
+ Fri_cpu_time_qos_default Uint64_t
+ Fri_cpu_time_qos_maintenance Uint64_t
+ Fri_cpu_time_qos_background Uint64_t
+ Fri_cpu_time_qos_utility Uint64_t
+ Fri_cpu_time_qos_legacy Uint64_t
+ Fri_cpu_time_qos_user_initiated Uint64_t
+ Fri_cpu_time_qos_user_interactive Uint64_t
+ Fri_billed_system_time Uint64_t
+ Fri_serviced_system_time Uint64_t
+ Fri_logical_writes Uint64_t
+ Fri_lifetime_max_phys_footprint Uint64_t
+ Fri_instructions Uint64_t
+ Fri_cycles Uint64_t
+ Fri_billed_energy Uint64_t
+ Fri_serviced_energy Uint64_t
+ Fri_interval_max_phys_footprint Uint64_t
+ Fri_runnable_time Uint64_t
+ Fri_flags Uint64_t
+} /* resource.h:327:1 */
+
+type Rusage_info_current = Rusage_info_v5 /* resource.h:367:31 */
+
+// ****
+//
+// RESOURCE LIMITS
+
+// Symbolic constants for resource limits; since all limits are representable
+// as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of
+// RLIM_INFINITY.
+
+// Possible values of the first parameter to getrlimit()/setrlimit(), to
+// indicate for which resource the operation is being performed.
+
+// A structure representing a resource limit. The address of an instance
+// of this structure is the second parameter to getrlimit()/setrlimit().
+type Rlimit = struct {
+ Frlim_cur Rlim_t
+ Frlim_max Rlim_t
+} /* resource.h:411:1 */
+
+// proc_rlimit_control()
+//
+// Resource limit flavors
+
+// Flags for wakeups monitor control.
+
+// Flags for CPU usage monitor control.
+
+// Flags for memory footprint interval tracking.
+
+type Proc_rlimit_control_wakeupmon = struct {
+ Fwm_flags Uint32_t
+ Fwm_rate Int32_t
+} /* resource.h:446:1 */
+
+// Functions for byte reversed loads.
+
+type X_OSUnalignedU16 = struct{ F__val Uint16_t } /* OSByteOrder.h:64:1 */
+
+type X_OSUnalignedU32 = struct{ F__val Uint32_t } /* OSByteOrder.h:68:1 */
+
+type X_OSUnalignedU64 = struct{ F__val Uint64_t } /* OSByteOrder.h:72:1 */
+
+// Deprecated:
+// Structure of the information in the status word returned by wait4.
+// If w_stopval==_WSTOPPED, then the second structure describes
+// the information returned, else the first.
+type Wait = struct{ Fw_status int32 } /* wait.h:194:1 */
+
+// built-in for gcc
+
+// built-in for gcc 3
+
+// DO NOT REMOVE THIS COMMENT: fixincludes needs to see:
+// _GCC_SIZE_T
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Ct_rune_t = X__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Rune_t = X__darwin_rune_t /* _rune_t.h:31:25 */
+
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:86:3 */
+
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:91:3 */
+
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:97:3 */
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
+// Copyright (c) 2003-2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type Mode_t = X__darwin_mode_t /* _mode_t.h:31:33 */ // getsubopt(3) external variable
+// valloc is now declared in _malloc.h
+
+// Poison the following routines if -fshort-wchar is set
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_freebsd_amd64.go b/vendor/modernc.org/libc/stdlib/stdlib_freebsd_amd64.go
new file mode 100644
index 000000000..de5951909
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_freebsd_amd64.go
@@ -0,0 +1,668 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_freebsd_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ RAND_MAX = 0x7fffffff
+ X_ERRNO_T_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_MACHINE__LIMITS_H_ = 0
+ X_MACHINE__TYPES_H_ = 0
+ X_MKDTEMP_DECLARED = 0
+ X_MKSTEMP_DECLARED = 0
+ X_MKTEMP_DECLARED = 0
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_RSIZE_T_DEFINED = 0
+ X_RUNE_T_DECLARED = 0
+ X_SIZE_T_DECLARED = 0
+ X_STDLIB_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_WCHAR_T_DECLARED = 0
+ Unix = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)stdlib.h 8.5 (Berkeley) 5/19/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// Testing against Clang-specific extensions.
+
+// This code has been put in place to help reduce the addition of
+// compiler specific defines in FreeBSD code. It helps to aid in
+// having a compiler-agnostic source tree.
+
+// Compiler memory barriers, specific to gcc and clang.
+
+// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
+
+// Macro to test if we're using a specific version of gcc or later.
+
+// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
+// mode -- there must be no spaces between its arguments, and for nested
+// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
+// concatenate double-quoted strings produced by the __STRING macro, but
+// this only works with ANSI C.
+//
+// __XSTRING is like __STRING, but it expands any macros in its argument
+// first. It is only available with ANSI C.
+
+// Compiler-dependent macros to help declare dead (non-returning) and
+// pure (no side effects) functions, and unused variables. They are
+// null except for versions of gcc that are known to support the features
+// properly (old versions of gcc-2 supported the dead and pure features
+// in a different (wrong) way). If we do not provide an implementation
+// for a given compiler, let the compile fail if it is told to use
+// a feature that we cannot live without.
+
+// Keywords added in C11.
+
+// Emulation of C11 _Generic(). Unlike the previously defined C11
+// keywords, it is not possible to implement this using exactly the same
+// syntax. Therefore implement something similar under the name
+// __generic(). Unlike _Generic(), this macro can only distinguish
+// between a single type, so it requires nested invocations to
+// distinguish multiple cases.
+
+// C99 Static array indices in function parameter declarations. Syntax such as:
+// void bar(int myArray[static 10]);
+// is allowed in C99 but not in C++. Define __min_size appropriately so
+// headers using it can be compiled in either language. Use like this:
+// void bar(int myArray[__min_size(10)]);
+
+// XXX: should use `#if __STDC_VERSION__ < 199901'.
+
+// C++11 exposes a load of C99 stuff
+
+// GCC 2.95 provides `__restrict' as an extension to C90 to support the
+// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
+// a way to define the `restrict' type qualifier without disturbing older
+// software that is unaware of C99 keywords.
+
+// GNU C version 2.96 adds explicit branch prediction so that
+// the CPU back-end can hint the processor and also so that
+// code blocks can be reordered such that the predicted path
+// sees a more linear flow, thus improving cache behavior, etc.
+//
+// The following two macros provide us with a way to utilize this
+// compiler feature. Use __predict_true() if you expect the expression
+// to evaluate to true, and __predict_false() if you expect the
+// expression to evaluate to false.
+//
+// A few notes about usage:
+//
+// * Generally, __predict_false() error condition checks (unless
+// you have some _strong_ reason to do otherwise, in which case
+// document it), and/or __predict_true() `no-error' condition
+// checks, assuming you want to optimize for the no-error case.
+//
+// * Other than that, if you don't know the likelihood of a test
+// succeeding from empirical or other `hard' evidence, don't
+// make predictions.
+//
+// * These are meant to be used in places that are run `a lot'.
+// It is wasteful to make predictions in code that is run
+// seldomly (e.g. at subsystem initialization time) as the
+// basic block reordering that this affects can often generate
+// larger code.
+
+// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
+// require it.
+
+// Given the pointer x to the member m of the struct s, return
+// a pointer to the containing structure. When using GCC, we first
+// assign pointer x to a local variable, to check that its type is
+// compatible with member m.
+
+// Compiler-dependent macros to declare that functions take printf-like
+// or scanf-like arguments. They are null except for versions of gcc
+// that are known to support the features properly (old versions of gcc-2
+// didn't permit keeping the keywords out of the application namespace).
+
+// Compiler-dependent macros that rely on FreeBSD-specific extensions.
+
+// Embed the rcs id of a source file in the resulting library. Note that in
+// more recent ELF binutils, we use .ident allowing the ID to be stripped.
+// Usage:
+// __FBSDID("$FreeBSD$");
+
+// -
+// The following definitions are an extension of the behavior originally
+// implemented in <sys/_posix.h>, but with a different level of granularity.
+// POSIX.1 requires that the macros we test be defined before any standard
+// header file is included.
+//
+// Here's a quick run-down of the versions:
+// defined(_POSIX_SOURCE) 1003.1-1988
+// _POSIX_C_SOURCE == 1 1003.1-1990
+// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
+// _POSIX_C_SOURCE == 199309 1003.1b-1993
+// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
+// and the omnibus ISO/IEC 9945-1: 1996
+// _POSIX_C_SOURCE == 200112 1003.1-2001
+// _POSIX_C_SOURCE == 200809 1003.1-2008
+//
+// In addition, the X/Open Portability Guide, which is now the Single UNIX
+// Specification, defines a feature-test macro which indicates the version of
+// that specification, and which subsumes _POSIX_C_SOURCE.
+//
+// Our macros begin with two underscores to avoid namespace screwage.
+
+// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
+
+// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
+
+// Deal with various X/Open Portability Guides and Single UNIX Spec.
+
+// Deal with all versions of POSIX. The ordering relative to the tests above is
+// important.
+// -
+// Deal with _ANSI_SOURCE:
+// If it is defined, and no other compilation environment is explicitly
+// requested, then define our internal feature-test macros to zero. This
+// makes no difference to the preprocessor (undefined symbols in preprocessing
+// expressions are defined to have value zero), but makes it more convenient for
+// a test program to print out the values.
+//
+// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
+// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
+// environment (and in fact we will never get here).
+
+// User override __EXT1_VISIBLE
+
+// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
+// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
+
+// Nullability qualifiers: currently only supported by Clang.
+
+// Type Safety Checking
+//
+// Clang provides additional attributes to enable checking type safety
+// properties that cannot be enforced by the C type system.
+
+// Lock annotations.
+//
+// Clang provides support for doing basic thread-safety tests at
+// compile-time, by marking which locks will/should be held when
+// entering/leaving a functions.
+//
+// Furthermore, it is also possible to annotate variables and structure
+// members to enforce that they are only accessed when certain locks are
+// held.
+
+// Structure implements a lock.
+
+// Function acquires an exclusive or shared lock.
+
+// Function attempts to acquire an exclusive or shared lock.
+
+// Function releases a lock.
+
+// Function asserts that an exclusive or shared lock is held.
+
+// Function requires that an exclusive or shared lock is or is not held.
+
+// Function should not be analyzed.
+
+// Function or variable should not be sanitized, i.e. by AddressSanitizer.
+// GCC has the nosanitize attribute, but as a function attribute only, and
+// warns on use as a variable attribute.
+
+// Guard variables and structure members by lock.
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2003 Marcel Moolenaar
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// This file is in the public domain.
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-4-Clause
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
+// From: @(#)types.h 8.3 (Berkeley) 1/5/94
+// $FreeBSD$
+
+// -
+// This file is in the public domain.
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1988, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)limits.h 8.3 (Berkeley) 1/4/94
+// $FreeBSD$
+
+// According to ANSI (section 2.2.4.2), the values below must be usable by
+// #if preprocessing directives. Additionally, the expression must have the
+// same type as would an expression that is an object of the corresponding
+// type converted according to the integral promotions. The subtraction for
+// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
+// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
+
+// max value for an unsigned long long
+
+// Quads and longs are the same on the amd64. Ensure they stay in sync.
+
+// Minimum signal stack size.
+
+// Basic types upon which most other types are built.
+type X__int8_t = int8 /* _types.h:55:22 */
+type X__uint8_t = uint8 /* _types.h:56:24 */
+type X__int16_t = int16 /* _types.h:57:17 */
+type X__uint16_t = uint16 /* _types.h:58:25 */
+type X__int32_t = int32 /* _types.h:59:15 */
+type X__uint32_t = uint32 /* _types.h:60:23 */
+type X__int64_t = int64 /* _types.h:62:16 */
+type X__uint64_t = uint64 /* _types.h:63:24 */
+
+// Standard type definitions.
+type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
+type X__critical_t = X__int64_t /* _types.h:76:19 */
+type X__double_t = float64 /* _types.h:78:17 */
+type X__float_t = float32 /* _types.h:79:16 */
+type X__intfptr_t = X__int64_t /* _types.h:81:19 */
+type X__intptr_t = X__int64_t /* _types.h:82:19 */
+type X__intmax_t = X__int64_t /* _types.h:93:19 */
+type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
+type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
+type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
+type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
+type X__int_least8_t = X__int8_t /* _types.h:98:18 */
+type X__int_least16_t = X__int16_t /* _types.h:99:19 */
+type X__int_least32_t = X__int32_t /* _types.h:100:19 */
+type X__int_least64_t = X__int64_t /* _types.h:101:19 */
+type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
+type X__register_t = X__int64_t /* _types.h:104:19 */
+type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
+type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
+type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
+type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
+type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
+type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
+type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
+type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
+type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
+type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
+type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
+type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
+type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
+type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
+type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
+type X__u_register_t = X__uint64_t /* _types.h:131:20 */
+type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
+type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
+type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
+type X___wchar_t = int32 /* _types.h:141:14 */
+
+// Standard type definitions.
+type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
+type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
+type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
+type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
+type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
+type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
+type X__gid_t = X__uint32_t /* _types.h:46:20 */
+type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
+type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
+type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
+type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
+type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
+type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
+type X__nl_item = int32 /* _types.h:53:14 */
+type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
+type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
+type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
+type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
+type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
+// signed, because of legacy code
+// that uses -1 for RLIM_INFINITY
+type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
+type X__socklen_t = X__uint32_t /* _types.h:62:20 */
+type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
+type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
+type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
+type X__uid_t = X__uint32_t /* _types.h:66:20 */
+type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
+type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
+type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
+type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
+type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
+
+// Unusual type definitions.
+// rune_t is declared to be an ``int'' instead of the more natural
+// ``unsigned long'' or ``long''. Two things are happening here. It is not
+// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+// it looks like 10646 will be a 31 bit standard. This means that if your
+// ints cannot hold 32 bits, you will be in trouble. The reason an int was
+// chosen over a long is that the is*() and to*() routines take ints (says
+// ANSI C), but they use __ct_rune_t instead of int.
+//
+// NOTE: rune_t is not covered by ANSI nor other standards, and should not
+// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
+// rune_t must be the same type. Also, wint_t should be able to hold all
+// members of the largest character set plus one extra value (WEOF), and
+// must be at least 16 bits.
+type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
+type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
+type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
+
+// Clang already provides these types as built-ins, but only in C++ mode.
+type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
+type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
+// In C++11, char16_t and char32_t are built-in types.
+
+type X__max_align_t = struct {
+ F__max_align1 int64
+ F__max_align2 float64
+} /* _types.h:111:3 */
+
+type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
+
+type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
+
+// mbstate_t is an opaque object to keep conversion state during multibyte
+// stream conversions.
+type X__mbstate_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
+} /* _types.h:124:3 */
+
+type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
+
+// Types for varargs. These are all provided by builtin types these
+// days, so centralize their definition.
+type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
+type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
+
+// When the following macro is defined, the system uses 64-bit inode numbers.
+// Programs can use this to avoid including <sys/param.h>, with its associated
+// namespace pollution.
+
+type Rune_t = X__rune_t /* stdlib.h:46:18 */
+
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:66:3 */
+
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:71:3 */
+
+// Functions added in C99 which we make conditionally available in the
+// BSD^C89 namespace if the compiler supports `long long'.
+// The #if test is more complicated than it ought to be because
+// __BSD_VISIBLE implies __ISO_C_VISIBLE == 1999 *even if* `long long'
+// is not supported in the compilation environment (which therefore means
+// that it can't really be ISO C99).
+//
+// (The only other extension made by C99 in thie header is _Exit().)
+// LONGLONG
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:142:3 */ // getsubopt(3) external variable
+
+type Rsize_t = Size_t /* stdlib.h:340:16 */
+
+type Errno_t = int32 /* stdlib.h:345:13 */
+
+// K.3.6
+type Constraint_handler_t = uintptr /* stdlib.h:349:14 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_linux_386.go b/vendor/modernc.org/libc/stdlib/stdlib_linux_386.go
new file mode 100644
index 000000000..e31de5fd6
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_linux_386.go
@@ -0,0 +1,1513 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_386.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FD_SETSIZE = 1024
+ LITTLE_ENDIAN = 1234
+ PDP_ENDIAN = 3412
+ RAND_MAX = 2147483647
+ WCONTINUED = 8
+ WEXITED = 4
+ WNOHANG = 1
+ WNOWAIT = 0x01000000
+ WSTOPPED = 2
+ WUNTRACED = 2
+ X_ALLOCA_H = 1
+ X_ATFILE_SOURCE = 1
+ X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_FLOATN_COMMON_H = 0
+ X_BITS_FLOATN_H = 0
+ X_BITS_PTHREADTYPES_ARCH_H = 1
+ X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_UINTN_IDENTITY_H = 1
+ X_BSD_SIZE_T_ = 0
+ X_BSD_SIZE_T_DEFINED_ = 0
+ X_DEFAULT_SOURCE = 1
+ X_ENDIAN_H = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_GCC_SIZE_T = 0
+ X_GCC_WCHAR_T = 0
+ X_ILP32 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
+ X_SIZET_ = 0
+ X_SIZE_T = 0
+ X_SIZE_T_ = 0
+ X_SIZE_T_DECLARED = 0
+ X_SIZE_T_DEFINED = 0
+ X_SIZE_T_DEFINED_ = 0
+ X_STDC_PREDEF_H = 1
+ X_STDLIB_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ X_SYS_SELECT_H = 1
+ X_SYS_SIZE_T_H = 0
+ X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
+ X_THREAD_SHARED_TYPES_H = 1
+ X_T_SIZE = 0
+ X_T_SIZE_ = 0
+ X_T_WCHAR = 0
+ X_T_WCHAR_ = 0
+ X_WCHAR_T = 0
+ X_WCHAR_T_ = 0
+ X_WCHAR_T_DECLARED = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCHAR_T_DEFINED_ = 0
+ X_WCHAR_T_H = 0
+ I386 = 1
+ Linux = 1
+ Unix = 1
+)
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+const ( /* waitflags.h:52:1: */
+ P_ALL = 0 // Wait for any child.
+ P_PID = 1 // Wait for specified process.
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+type Idtype_t = uint32 /* waitflags.h:57:3 */
+// Definitions of status bits for `wait' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Everything extant so far uses these same bits.
+
+// If WIFEXITED(STATUS), the low-order 8 bits of the status.
+
+// If WIFSIGNALED(STATUS), the terminating signal.
+
+// If WIFSTOPPED(STATUS), the signal that stopped the child.
+
+// Nonzero if STATUS indicates normal termination.
+
+// Nonzero if STATUS indicates termination by a signal.
+
+// Nonzero if STATUS indicates the child is stopped.
+
+// Nonzero if STATUS indicates the child continued after a stop. We only
+// define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
+
+// Nonzero if STATUS indicates the child dumped core.
+
+// Macros for constructing status values.
+
+// Define the macros <sys/wait.h> also would define this way.
+
+// _FloatN API tests for enablement.
+// Macros to control TS 18661-3 glibc features on x86.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the IEEE 754 binary128 format, and this
+// glibc includes corresponding *f128 interfaces for it. The required
+// libgcc support was added some time after the basic compiler
+// support, for x86_64 and x86.
+
+// Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+// from the default float, double and long double types in this glibc.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for _Float64x, and this
+// glibc includes corresponding *f64x interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+// of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+// the format of _Float128, which must be different from that of long
+// double.
+
+// Defined to concatenate the literal suffix to be used with _Float128
+// types, if __HAVE_FLOAT128 is 1.
+
+// Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// The type _Float128 exists only since GCC 7.0.
+
+// __builtin_huge_valf128 doesn't exist before GCC 7.0.
+
+// Older GCC has only a subset of built-in functions for _Float128 on
+// x86, and __builtin_infq is not usable in static initializers.
+// Converting a narrower sNaN to _Float128 produces a quiet NaN, so
+// attempts to use _Float128 sNaNs will not work properly with older
+// compilers.
+
+// In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
+// e.g.: __builtin_signbitf128, before GCC 6. However, there has never
+// been a __builtin_signbitf128 in GCC and the type-generic builtin is
+// only available since GCC 6.
+
+// Macros to control TS 18661-3 glibc features where the same
+// definitions are appropriate for all platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-96 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// This header should be included at the bottom of each bits/floatn.h.
+// It defines the following macros for each _FloatN and _FloatNx type,
+// where the same definitions, or definitions based only on the macros
+// in bits/floatn.h, are appropriate for all glibc configurations.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for this type, and this
+// glibc includes corresponding *fN or *fNx interfaces for it.
+
+// Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
+// type is the first with its format in the sequence of (the default
+// choices for) float, double, long double, _Float16, _Float32,
+// _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
+// glibc; that is, if functions present once per floating-point format
+// rather than once per type are present for this type.
+//
+// All configurations supported by glibc have _Float32 the same format
+// as float, _Float64 and _Float32x the same format as double, the
+// _Float64x the same format as either long double or _Float128. No
+// configurations support _Float128x or, as of GCC 7, have compiler
+// support for a type meeting the requirements for _Float128x.
+
+// Defined to 1 if the corresponding _FloatN type is not binary compatible
+// with the corresponding ISO C type in the current compilation unit as
+// opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+// in glibc.
+
+// Defined to 1 if any _FloatN or _FloatNx types that are not
+// ABI-distinct are however distinct types at the C language level (so
+// for the purposes of __builtin_types_compatible_p and _Generic).
+
+// Defined to concatenate the literal suffix to be used with _FloatN
+// or _FloatNx types, if __HAVE_<type> is 1. The corresponding
+// literal suffixes exist since GCC 7, for C only.
+
+// Defined to a complex type if __HAVE_<type> is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// If double, long double and _Float64 all have the same set of
+// values, TS 18661-3 requires the usual arithmetic conversions on
+// long double and _Float64 to produce _Float64. For this to be the
+// case when building with a compiler without a distinct _Float64
+// type, _Float64 must be a typedef for long double, not for
+// double.
+
+// Returned by `div'.
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:62:5 */
+
+// Returned by `ldiv'.
+type Ldiv_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:70:5 */
+
+// Returned by `lldiv'.
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:80:5 */
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// We want __extension__ before typedef's that use nonstandard base types
+// such as `long long' in C89 mode.
+// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// X32 kernel interface is 64-bit.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int32 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int32 /* types.h:191:28 */
+
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int32 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int32 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
+
+type U_char = X__u_char /* types.h:33:18 */
+type U_short = X__u_short /* types.h:34:19 */
+type U_int = X__u_int /* types.h:35:17 */
+type U_long = X__u_long /* types.h:36:18 */
+type Quad_t = X__quad_t /* types.h:37:18 */
+type U_quad_t = X__u_quad_t /* types.h:38:20 */
+type Fsid_t = X__fsid_t /* types.h:39:18 */
+type Loff_t = X__loff_t /* types.h:42:18 */
+
+type Ino_t = X__ino64_t /* types.h:49:19 */
+
+type Dev_t = X__dev_t /* types.h:59:17 */
+
+type Gid_t = X__gid_t /* types.h:64:17 */
+
+type Mode_t = X__mode_t /* types.h:69:18 */
+
+type Nlink_t = X__nlink_t /* types.h:74:19 */
+
+type Uid_t = X__uid_t /* types.h:79:17 */
+
+type Off_t = X__off64_t /* types.h:87:19 */
+
+type Pid_t = X__pid_t /* types.h:97:17 */
+
+type Id_t = X__id_t /* types.h:103:16 */
+
+type Ssize_t = X__ssize_t /* types.h:108:19 */
+
+type Daddr_t = X__daddr_t /* types.h:114:19 */
+type Caddr_t = X__caddr_t /* types.h:115:19 */
+
+type Key_t = X__key_t /* types.h:121:17 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `clock'.
+type Clock_t = X__clock_t /* clock_t.h:7:19 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Clock ID used in clock and timer functions.
+type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `time'.
+type Time_t = X__time_t /* time_t.h:7:18 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Timer ID returned by `timer_create'.
+type Timer_t = X__timer_t /* timer_t.h:7:19 */
+
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// A null pointer constant.
+
+// Old compatibility names for C types.
+type Ulong = uint32 /* types.h:148:27 */
+type Ushort = uint16 /* types.h:149:28 */
+type Uint = uint32 /* types.h:150:22 */
+
+// These size-specific names are used by some of the inet code.
+
+// Define intN_t types.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type Int8_t = X__int8_t /* stdint-intn.h:24:18 */
+type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
+type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
+type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
+
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
+
+type Register_t = int32 /* types.h:164:13 */
+
+// It also defines `fd_set' and the FD_* macros for `select'.
+// `fd_set' type and related macros, and `select'/`pselect' declarations.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Get definition of needed basic types.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Get __FD_* definitions.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Get sigset_t.
+
+type X__sigset_t = struct{ F__val [32]uint32 } /* __sigset_t.h:8:3 */
+
+// A set of signals to be blocked, unblocked, or waited for.
+type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
+
+// Get definition of timer specification structures.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// A time value that is accurate to the nearest
+// microsecond but also has a range of years.
+type Timeval = struct {
+ Ftv_sec X__time_t
+ Ftv_usec X__suseconds_t
+} /* struct_timeval.h:8:1 */
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX.1b structure for a time value. This is like a `struct timeval' but
+// has nanoseconds instead of microseconds.
+type Timespec = struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+} /* struct_timespec.h:10:1 */
+
+type Suseconds_t = X__suseconds_t /* select.h:43:23 */
+
+// The fd_set member is required to be an array of longs.
+type X__fd_mask = int32 /* select.h:49:18 */
+
+// Some versions of <linux/posix_types.h> define this macros.
+// It's easier to assume 8-bit bytes than to get CHAR_BIT.
+
+// fd_set for select and pselect.
+type Fd_set = struct{ F__fds_bits [32]X__fd_mask } /* select.h:70:5 */
+
+// Maximum number of file descriptors in `fd_set'.
+
+// Sometimes the fd_set member is assumed to have this type.
+type Fd_mask = X__fd_mask /* select.h:77:19 */
+
+// Define some inlines helping to catch common problems.
+
+type Blksize_t = X__blksize_t /* types.h:185:21 */
+
+// Types from the Large File Support interface.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct {
+ F__ccgo_pad1 [0]uint32
+ F__elision_data struct {
+ F__espins int16
+ F__eelision int16
+ }
+ }
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
+
+// Common definition of pthread_cond_t.
+
+type X__pthread_cond_s = struct {
+ F__0 struct{ F__wseq uint64 }
+ F__8 struct{ F__g1_start uint64 }
+ F__g_refs [2]uint32
+ F__g_size [2]uint32
+ F__g1_orig_size uint32
+ F__wrefs uint32
+ F__g_signals [2]uint32
+} /* thread-shared-types.h:92:1 */
+
+// Thread identifiers. The structure of the attribute type is not
+// exposed on purpose.
+type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
+
+// Data structures for mutex handling. The structure of the attribute
+// type is not exposed on purpose.
+type Pthread_mutexattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
+} /* pthreadtypes.h:36:3 */
+
+// Data structure for condition variable handling. The structure of
+// the attribute type is not exposed on purpose.
+type Pthread_condattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
+} /* pthreadtypes.h:45:3 */
+
+// Keys for thread-specific data
+type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
+
+// Once-only execution
+type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
+
+type Pthread_attr_t1 = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
+} /* pthreadtypes.h:56:1 */
+
+type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
+
+type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */
+
+type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
+
+// Data structure for reader-writer lock variable handling. The
+// structure of the attribute type is deliberately not exposed.
+type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
+
+type Pthread_rwlockattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
+} /* pthreadtypes.h:97:3 */
+
+// POSIX spinlock data type.
+type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
+
+// POSIX barriers data type. The structure of the type is
+// deliberately not exposed.
+type Pthread_barrier_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
+} /* pthreadtypes.h:112:3 */
+
+type Pthread_barrierattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
+} /* pthreadtypes.h:118:3 */
+
+// Reentrant versions of the `random' family of functions.
+// These functions all use the following data structure to contain
+// state, rather than global state variables.
+
+type Random_data = struct {
+ Ffptr uintptr
+ Frptr uintptr
+ Fstate uintptr
+ Frand_type int32
+ Frand_deg int32
+ Frand_sep int32
+ Fend_ptr uintptr
+} /* stdlib.h:423:1 */
+
+// Data structure for communication with thread safe versions. This
+// type is to be regarded as opaque. It's only exported because users
+// have to allocate objects of this type.
+type Drand48_data = struct {
+ F__x [3]uint16
+ F__old_x [3]uint16
+ F__c uint16
+ F__init uint16
+ F__a uint64
+} /* stdlib.h:490:1 */
+
+// Shorthand for type of comparison functions.
+type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
+
+// Floating-point inline functions for stdlib.h.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define some macros helping to catch buffer overflows.
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_linux_amd64.go b/vendor/modernc.org/libc/stdlib/stdlib_linux_amd64.go
new file mode 100644
index 000000000..18dce1b44
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_linux_amd64.go
@@ -0,0 +1,1531 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FD_SETSIZE = 1024
+ LITTLE_ENDIAN = 1234
+ PDP_ENDIAN = 3412
+ RAND_MAX = 2147483647
+ WCONTINUED = 8
+ WEXITED = 4
+ WNOHANG = 1
+ WNOWAIT = 0x01000000
+ WSTOPPED = 2
+ WUNTRACED = 2
+ X_ALLOCA_H = 1
+ X_ATFILE_SOURCE = 1
+ X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_FLOATN_COMMON_H = 0
+ X_BITS_FLOATN_H = 0
+ X_BITS_PTHREADTYPES_ARCH_H = 1
+ X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_UINTN_IDENTITY_H = 1
+ X_BSD_SIZE_T_ = 0
+ X_BSD_SIZE_T_DEFINED_ = 0
+ X_DEFAULT_SOURCE = 1
+ X_ENDIAN_H = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_GCC_SIZE_T = 0
+ X_GCC_WCHAR_T = 0
+ X_LP64 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
+ X_SIZET_ = 0
+ X_SIZE_T = 0
+ X_SIZE_T_ = 0
+ X_SIZE_T_DECLARED = 0
+ X_SIZE_T_DEFINED = 0
+ X_SIZE_T_DEFINED_ = 0
+ X_STDC_PREDEF_H = 1
+ X_STDLIB_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ X_SYS_SELECT_H = 1
+ X_SYS_SIZE_T_H = 0
+ X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
+ X_THREAD_SHARED_TYPES_H = 1
+ X_T_SIZE = 0
+ X_T_SIZE_ = 0
+ X_T_WCHAR = 0
+ X_T_WCHAR_ = 0
+ X_WCHAR_T = 0
+ X_WCHAR_T_ = 0
+ X_WCHAR_T_DECLARED = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCHAR_T_DEFINED_ = 0
+ X_WCHAR_T_H = 0
+ Linux = 1
+ Unix = 1
+)
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+const ( /* waitflags.h:52:1: */
+ P_ALL = 0 // Wait for any child.
+ P_PID = 1 // Wait for specified process.
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+type Idtype_t = uint32 /* waitflags.h:57:3 */
+// Definitions of status bits for `wait' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Everything extant so far uses these same bits.
+
+// If WIFEXITED(STATUS), the low-order 8 bits of the status.
+
+// If WIFSIGNALED(STATUS), the terminating signal.
+
+// If WIFSTOPPED(STATUS), the signal that stopped the child.
+
+// Nonzero if STATUS indicates normal termination.
+
+// Nonzero if STATUS indicates termination by a signal.
+
+// Nonzero if STATUS indicates the child is stopped.
+
+// Nonzero if STATUS indicates the child continued after a stop. We only
+// define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
+
+// Nonzero if STATUS indicates the child dumped core.
+
+// Macros for constructing status values.
+
+// Define the macros <sys/wait.h> also would define this way.
+
+// _FloatN API tests for enablement.
+// Macros to control TS 18661-3 glibc features on x86.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the IEEE 754 binary128 format, and this
+// glibc includes corresponding *f128 interfaces for it. The required
+// libgcc support was added some time after the basic compiler
+// support, for x86_64 and x86.
+
+// Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+// from the default float, double and long double types in this glibc.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for _Float64x, and this
+// glibc includes corresponding *f64x interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+// of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+// the format of _Float128, which must be different from that of long
+// double.
+
+// Defined to concatenate the literal suffix to be used with _Float128
+// types, if __HAVE_FLOAT128 is 1.
+
+// Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// The type _Float128 exists only since GCC 7.0.
+
+// __builtin_huge_valf128 doesn't exist before GCC 7.0.
+
+// Older GCC has only a subset of built-in functions for _Float128 on
+// x86, and __builtin_infq is not usable in static initializers.
+// Converting a narrower sNaN to _Float128 produces a quiet NaN, so
+// attempts to use _Float128 sNaNs will not work properly with older
+// compilers.
+
+// In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
+// e.g.: __builtin_signbitf128, before GCC 6. However, there has never
+// been a __builtin_signbitf128 in GCC and the type-generic builtin is
+// only available since GCC 6.
+
+// Macros to control TS 18661-3 glibc features where the same
+// definitions are appropriate for all platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-96 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// This header should be included at the bottom of each bits/floatn.h.
+// It defines the following macros for each _FloatN and _FloatNx type,
+// where the same definitions, or definitions based only on the macros
+// in bits/floatn.h, are appropriate for all glibc configurations.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for this type, and this
+// glibc includes corresponding *fN or *fNx interfaces for it.
+
+// Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
+// type is the first with its format in the sequence of (the default
+// choices for) float, double, long double, _Float16, _Float32,
+// _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
+// glibc; that is, if functions present once per floating-point format
+// rather than once per type are present for this type.
+//
+// All configurations supported by glibc have _Float32 the same format
+// as float, _Float64 and _Float32x the same format as double, the
+// _Float64x the same format as either long double or _Float128. No
+// configurations support _Float128x or, as of GCC 7, have compiler
+// support for a type meeting the requirements for _Float128x.
+
+// Defined to 1 if the corresponding _FloatN type is not binary compatible
+// with the corresponding ISO C type in the current compilation unit as
+// opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+// in glibc.
+
+// Defined to 1 if any _FloatN or _FloatNx types that are not
+// ABI-distinct are however distinct types at the C language level (so
+// for the purposes of __builtin_types_compatible_p and _Generic).
+
+// Defined to concatenate the literal suffix to be used with _FloatN
+// or _FloatNx types, if __HAVE_<type> is 1. The corresponding
+// literal suffixes exist since GCC 7, for C only.
+
+// Defined to a complex type if __HAVE_<type> is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// If double, long double and _Float64 all have the same set of
+// values, TS 18661-3 requires the usual arithmetic conversions on
+// long double and _Float64 to produce _Float64. For this to be the
+// case when building with a compiler without a distinct _Float64
+// type, _Float64 must be a typedef for long double, not for
+// double.
+
+// Returned by `div'.
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:62:5 */
+
+// Returned by `ldiv'.
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:70:5 */
+
+// Returned by `lldiv'.
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:80:5 */
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// No need to mark the typedef with __extension__.
+// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// X32 kernel interface is 64-bit.
+
+// Tell the libc code that off_t and off64_t are actually the same type
+// for all ABI purposes, even if possibly expressed as different base types
+// for C type-checking purposes.
+
+// Same for ino_t and ino64_t.
+
+// And for __rlim_t and __rlim64_t.
+
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int64 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int64 /* types.h:191:28 */
+
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int64 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int64 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+
+type U_char = X__u_char /* types.h:33:18 */
+type U_short = X__u_short /* types.h:34:19 */
+type U_int = X__u_int /* types.h:35:17 */
+type U_long = X__u_long /* types.h:36:18 */
+type Quad_t = X__quad_t /* types.h:37:18 */
+type U_quad_t = X__u_quad_t /* types.h:38:20 */
+type Fsid_t = X__fsid_t /* types.h:39:18 */
+type Loff_t = X__loff_t /* types.h:42:18 */
+
+type Ino_t = X__ino64_t /* types.h:49:19 */
+
+type Dev_t = X__dev_t /* types.h:59:17 */
+
+type Gid_t = X__gid_t /* types.h:64:17 */
+
+type Mode_t = X__mode_t /* types.h:69:18 */
+
+type Nlink_t = X__nlink_t /* types.h:74:19 */
+
+type Uid_t = X__uid_t /* types.h:79:17 */
+
+type Off_t = X__off64_t /* types.h:87:19 */
+
+type Pid_t = X__pid_t /* types.h:97:17 */
+
+type Id_t = X__id_t /* types.h:103:16 */
+
+type Ssize_t = X__ssize_t /* types.h:108:19 */
+
+type Daddr_t = X__daddr_t /* types.h:114:19 */
+type Caddr_t = X__caddr_t /* types.h:115:19 */
+
+type Key_t = X__key_t /* types.h:121:17 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `clock'.
+type Clock_t = X__clock_t /* clock_t.h:7:19 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Clock ID used in clock and timer functions.
+type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `time'.
+type Time_t = X__time_t /* time_t.h:7:18 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Timer ID returned by `timer_create'.
+type Timer_t = X__timer_t /* timer_t.h:7:19 */
+
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// A null pointer constant.
+
+// Old compatibility names for C types.
+type Ulong = uint64 /* types.h:148:27 */
+type Ushort = uint16 /* types.h:149:28 */
+type Uint = uint32 /* types.h:150:22 */
+
+// These size-specific names are used by some of the inet code.
+
+// Define intN_t types.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type Int8_t = X__int8_t /* stdint-intn.h:24:18 */
+type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
+type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
+type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
+
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
+
+type Register_t = int32 /* types.h:164:13 */
+
+// It also defines `fd_set' and the FD_* macros for `select'.
+// `fd_set' type and related macros, and `select'/`pselect' declarations.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Get definition of needed basic types.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Get __FD_* definitions.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+
+// Get sigset_t.
+
+type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
+
+// A set of signals to be blocked, unblocked, or waited for.
+type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
+
+// Get definition of timer specification structures.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// A time value that is accurate to the nearest
+// microsecond but also has a range of years.
+type Timeval = struct {
+ Ftv_sec X__time_t
+ Ftv_usec X__suseconds_t
+} /* struct_timeval.h:8:1 */
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX.1b structure for a time value. This is like a `struct timeval' but
+// has nanoseconds instead of microseconds.
+type Timespec = struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+} /* struct_timespec.h:10:1 */
+
+type Suseconds_t = X__suseconds_t /* select.h:43:23 */
+
+// The fd_set member is required to be an array of longs.
+type X__fd_mask = int64 /* select.h:49:18 */
+
+// Some versions of <linux/posix_types.h> define this macros.
+// It's easier to assume 8-bit bytes than to get CHAR_BIT.
+
+// fd_set for select and pselect.
+type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */
+
+// Maximum number of file descriptors in `fd_set'.
+
+// Sometimes the fd_set member is assumed to have this type.
+type Fd_mask = X__fd_mask /* select.h:77:19 */
+
+// Define some inlines helping to catch common problems.
+
+type Blksize_t = X__blksize_t /* types.h:185:21 */
+
+// Types from the Large File Support interface.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__nusers uint32
+ F__kind int32
+ F__spins int16
+ F__elision int16
+ F__list X__pthread_list_t
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
+
+// Common definition of pthread_cond_t.
+
+type X__pthread_cond_s = struct {
+ F__0 struct{ F__wseq uint64 }
+ F__8 struct{ F__g1_start uint64 }
+ F__g_refs [2]uint32
+ F__g_size [2]uint32
+ F__g1_orig_size uint32
+ F__wrefs uint32
+ F__g_signals [2]uint32
+} /* thread-shared-types.h:92:1 */
+
+// Thread identifiers. The structure of the attribute type is not
+// exposed on purpose.
+type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
+
+// Data structures for mutex handling. The structure of the attribute
+// type is not exposed on purpose.
+type Pthread_mutexattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
+} /* pthreadtypes.h:36:3 */
+
+// Data structure for condition variable handling. The structure of
+// the attribute type is not exposed on purpose.
+type Pthread_condattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
+} /* pthreadtypes.h:45:3 */
+
+// Keys for thread-specific data
+type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
+
+// Once-only execution
+type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
+
+type Pthread_attr_t1 = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
+} /* pthreadtypes.h:56:1 */
+
+type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
+
+type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */
+
+type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
+
+// Data structure for reader-writer lock variable handling. The
+// structure of the attribute type is deliberately not exposed.
+type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
+
+type Pthread_rwlockattr_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
+} /* pthreadtypes.h:97:3 */
+
+// POSIX spinlock data type.
+type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
+
+// POSIX barriers data type. The structure of the type is
+// deliberately not exposed.
+type Pthread_barrier_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
+} /* pthreadtypes.h:112:3 */
+
+type Pthread_barrierattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
+} /* pthreadtypes.h:118:3 */
+
+// Reentrant versions of the `random' family of functions.
+// These functions all use the following data structure to contain
+// state, rather than global state variables.
+
+type Random_data = struct {
+ Ffptr uintptr
+ Frptr uintptr
+ Fstate uintptr
+ Frand_type int32
+ Frand_deg int32
+ Frand_sep int32
+ F__ccgo_pad1 [4]byte
+ Fend_ptr uintptr
+} /* stdlib.h:423:1 */
+
+// Data structure for communication with thread safe versions. This
+// type is to be regarded as opaque. It's only exported because users
+// have to allocate objects of this type.
+type Drand48_data = struct {
+ F__x [3]uint16
+ F__old_x [3]uint16
+ F__c uint16
+ F__init uint16
+ F__a uint64
+} /* stdlib.h:490:1 */
+
+// Shorthand for type of comparison functions.
+type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
+
+// Floating-point inline functions for stdlib.h.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define some macros helping to catch buffer overflows.
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_linux_arm.go b/vendor/modernc.org/libc/stdlib/stdlib_linux_arm.go
new file mode 100644
index 000000000..df68d8e69
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_linux_arm.go
@@ -0,0 +1,1573 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_arm.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FD_SETSIZE = 1024
+ LITTLE_ENDIAN = 1234
+ PDP_ENDIAN = 3412
+ RAND_MAX = 2147483647
+ WCONTINUED = 8
+ WEXITED = 4
+ WNOHANG = 1
+ WNOWAIT = 0x01000000
+ WSTOPPED = 2
+ WUNTRACED = 2
+ X_ALLOCA_H = 1
+ X_ATFILE_SOURCE = 1
+ X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_FLOATN_COMMON_H = 0
+ X_BITS_PTHREADTYPES_ARCH_H = 1
+ X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_UINTN_IDENTITY_H = 1
+ X_BSD_SIZE_T_ = 0
+ X_BSD_SIZE_T_DEFINED_ = 0
+ X_DEFAULT_SOURCE = 1
+ X_ENDIAN_H = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_GCC_SIZE_T = 0
+ X_GCC_WCHAR_T = 0
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_SIZET_ = 0
+ X_SIZE_T = 0
+ X_SIZE_T_ = 0
+ X_SIZE_T_DECLARED = 0
+ X_SIZE_T_DEFINED = 0
+ X_SIZE_T_DEFINED_ = 0
+ X_STDC_PREDEF_H = 1
+ X_STDLIB_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ X_SYS_SELECT_H = 1
+ X_SYS_SIZE_T_H = 0
+ X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
+ X_THREAD_SHARED_TYPES_H = 1
+ X_T_SIZE = 0
+ X_T_SIZE_ = 0
+ X_T_WCHAR = 0
+ X_T_WCHAR_ = 0
+ X_WCHAR_T = 0
+ X_WCHAR_T_ = 0
+ X_WCHAR_T_DECLARED = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCHAR_T_DEFINED_ = 0
+ X_WCHAR_T_H = 0
+ Linux = 1
+ Unix = 1
+)
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+const ( /* waitflags.h:52:1: */
+ P_ALL = 0 // Wait for any child.
+ P_PID = 1 // Wait for specified process.
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+type Idtype_t = uint32 /* waitflags.h:57:3 */
+// Definitions of status bits for `wait' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Everything extant so far uses these same bits.
+
+// If WIFEXITED(STATUS), the low-order 8 bits of the status.
+
+// If WIFSIGNALED(STATUS), the terminating signal.
+
+// If WIFSTOPPED(STATUS), the signal that stopped the child.
+
+// Nonzero if STATUS indicates normal termination.
+
+// Nonzero if STATUS indicates termination by a signal.
+
+// Nonzero if STATUS indicates the child is stopped.
+
+// Nonzero if STATUS indicates the child continued after a stop. We only
+// define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
+
+// Nonzero if STATUS indicates the child dumped core.
+
+// Macros for constructing status values.
+
+// Define the macros <sys/wait.h> also would define this way.
+
+// _FloatN API tests for enablement.
+// Macros to control TS 18661-3 glibc features.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the IEEE 754 binary128 format, and this glibc
+// includes corresponding *f128 interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+// from the default float, double and long double types in this glibc.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for _Float64x, and this
+// glibc includes corresponding *f64x interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+// of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+// the format of _Float128, which must be different from that of long
+// double.
+
+// Defined to concatenate the literal suffix to be used with _Float128
+// types, if __HAVE_FLOAT128 is 1.
+// E.g.: #define __f128(x) x##f128.
+
+// Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
+// E.g.: #define __CFLOAT128 _Complex _Float128.
+
+// Macros to control TS 18661-3 glibc features where the same
+// definitions are appropriate for all platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This header is included by <sys/cdefs.h>.
+//
+// If long double is ABI-compatible with double, it should define
+// __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
+// __NO_LONG_DOUBLE_MATH undefined.
+//
+// If this build of the GNU C Library supports both long double
+// ABI-compatible with double and some other long double format not
+// ABI-compatible with double, it should define
+// __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
+// __LONG_DOUBLE_MATH_OPTIONAL undefined.
+//
+// If __NO_LONG_DOUBLE_MATH is already defined, this header must not
+// define anything; this is needed to work with the definition of
+// __NO_LONG_DOUBLE_MATH in nldbl-compat.h.
+
+// In the default version of this header, long double is
+// ABI-compatible with double.
+
+// This header should be included at the bottom of each bits/floatn.h.
+// It defines the following macros for each _FloatN and _FloatNx type,
+// where the same definitions, or definitions based only on the macros
+// in bits/floatn.h, are appropriate for all glibc configurations.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for this type, and this
+// glibc includes corresponding *fN or *fNx interfaces for it.
+
+// Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
+// type is the first with its format in the sequence of (the default
+// choices for) float, double, long double, _Float16, _Float32,
+// _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
+// glibc; that is, if functions present once per floating-point format
+// rather than once per type are present for this type.
+//
+// All configurations supported by glibc have _Float32 the same format
+// as float, _Float64 and _Float32x the same format as double, the
+// _Float64x the same format as either long double or _Float128. No
+// configurations support _Float128x or, as of GCC 7, have compiler
+// support for a type meeting the requirements for _Float128x.
+
+// Defined to 1 if the corresponding _FloatN type is not binary compatible
+// with the corresponding ISO C type in the current compilation unit as
+// opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+// in glibc.
+
+// Defined to 1 if any _FloatN or _FloatNx types that are not
+// ABI-distinct are however distinct types at the C language level (so
+// for the purposes of __builtin_types_compatible_p and _Generic).
+
+// Defined to concatenate the literal suffix to be used with _FloatN
+// or _FloatNx types, if __HAVE_<type> is 1. The corresponding
+// literal suffixes exist since GCC 7, for C only.
+
+// Defined to a complex type if __HAVE_<type> is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// If double, long double and _Float64 all have the same set of
+// values, TS 18661-3 requires the usual arithmetic conversions on
+// long double and _Float64 to produce _Float64. For this to be the
+// case when building with a compiler without a distinct _Float64
+// type, _Float64 must be a typedef for long double, not for
+// double.
+
+// Returned by `div'.
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:62:5 */
+
+// Returned by `ldiv'.
+type Ldiv_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:70:5 */
+
+// Returned by `lldiv'.
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:80:5 */
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// We want __extension__ before typedef's that use nonstandard base types
+// such as `long long' in C89 mode.
+// bits/typesizes.h -- underlying types for *_t. Generic version.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int32 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int32 /* types.h:191:28 */
+
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int32 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int32 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
+
+type U_char = X__u_char /* types.h:33:18 */
+type U_short = X__u_short /* types.h:34:19 */
+type U_int = X__u_int /* types.h:35:17 */
+type U_long = X__u_long /* types.h:36:18 */
+type Quad_t = X__quad_t /* types.h:37:18 */
+type U_quad_t = X__u_quad_t /* types.h:38:20 */
+type Fsid_t = X__fsid_t /* types.h:39:18 */
+type Loff_t = X__loff_t /* types.h:42:18 */
+
+type Ino_t = X__ino64_t /* types.h:49:19 */
+
+type Dev_t = X__dev_t /* types.h:59:17 */
+
+type Gid_t = X__gid_t /* types.h:64:17 */
+
+type Mode_t = X__mode_t /* types.h:69:18 */
+
+type Nlink_t = X__nlink_t /* types.h:74:19 */
+
+type Uid_t = X__uid_t /* types.h:79:17 */
+
+type Off_t = X__off64_t /* types.h:87:19 */
+
+type Pid_t = X__pid_t /* types.h:97:17 */
+
+type Id_t = X__id_t /* types.h:103:16 */
+
+type Ssize_t = X__ssize_t /* types.h:108:19 */
+
+type Daddr_t = X__daddr_t /* types.h:114:19 */
+type Caddr_t = X__caddr_t /* types.h:115:19 */
+
+type Key_t = X__key_t /* types.h:121:17 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `clock'.
+type Clock_t = X__clock_t /* clock_t.h:7:19 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Clock ID used in clock and timer functions.
+type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `time'.
+type Time_t = X__time_t /* time_t.h:7:18 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Timer ID returned by `timer_create'.
+type Timer_t = X__timer_t /* timer_t.h:7:19 */
+
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// A null pointer constant.
+
+// Old compatibility names for C types.
+type Ulong = uint32 /* types.h:148:27 */
+type Ushort = uint16 /* types.h:149:28 */
+type Uint = uint32 /* types.h:150:22 */
+
+// These size-specific names are used by some of the inet code.
+
+// Define intN_t types.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type Int8_t = X__int8_t /* stdint-intn.h:24:18 */
+type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
+type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
+type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
+
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
+
+type Register_t = int32 /* types.h:164:13 */
+
+// It also defines `fd_set' and the FD_* macros for `select'.
+// `fd_set' type and related macros, and `select'/`pselect' declarations.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Get definition of needed basic types.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Get __FD_* definitions.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We don't use `memset' because this would require a prototype and
+// the array isn't too big.
+
+// Get sigset_t.
+
+type X__sigset_t = struct{ F__val [32]uint32 } /* __sigset_t.h:8:3 */
+
+// A set of signals to be blocked, unblocked, or waited for.
+type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
+
+// Get definition of timer specification structures.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// A time value that is accurate to the nearest
+// microsecond but also has a range of years.
+type Timeval = struct {
+ Ftv_sec X__time_t
+ Ftv_usec X__suseconds_t
+} /* struct_timeval.h:8:1 */
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX.1b structure for a time value. This is like a `struct timeval' but
+// has nanoseconds instead of microseconds.
+type Timespec = struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+} /* struct_timespec.h:10:1 */
+
+type Suseconds_t = X__suseconds_t /* select.h:43:23 */
+
+// The fd_set member is required to be an array of longs.
+type X__fd_mask = int32 /* select.h:49:18 */
+
+// Some versions of <linux/posix_types.h> define this macros.
+// It's easier to assume 8-bit bytes than to get CHAR_BIT.
+
+// fd_set for select and pselect.
+type Fd_set = struct{ F__fds_bits [32]X__fd_mask } /* select.h:70:5 */
+
+// Maximum number of file descriptors in `fd_set'.
+
+// Sometimes the fd_set member is assumed to have this type.
+type Fd_mask = X__fd_mask /* select.h:77:19 */
+
+// Define some inlines helping to catch common problems.
+
+type Blksize_t = X__blksize_t /* types.h:185:21 */
+
+// Types from the Large File Support interface.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__pad1 uint8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:29:1 */
+
+// Common definition of pthread_cond_t.
+
+type X__pthread_cond_s = struct {
+ F__0 struct{ F__wseq uint64 }
+ F__8 struct{ F__g1_start uint64 }
+ F__g_refs [2]uint32
+ F__g_size [2]uint32
+ F__g1_orig_size uint32
+ F__wrefs uint32
+ F__g_signals [2]uint32
+} /* thread-shared-types.h:92:1 */
+
+// Thread identifiers. The structure of the attribute type is not
+// exposed on purpose.
+type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
+
+// Data structures for mutex handling. The structure of the attribute
+// type is not exposed on purpose.
+type Pthread_mutexattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
+} /* pthreadtypes.h:36:3 */
+
+// Data structure for condition variable handling. The structure of
+// the attribute type is not exposed on purpose.
+type Pthread_condattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
+} /* pthreadtypes.h:45:3 */
+
+// Keys for thread-specific data
+type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
+
+// Once-only execution
+type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
+
+type Pthread_attr_t1 = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
+} /* pthreadtypes.h:56:1 */
+
+type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
+
+type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */
+
+type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
+
+// Data structure for reader-writer lock variable handling. The
+// structure of the attribute type is deliberately not exposed.
+type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
+
+type Pthread_rwlockattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
+} /* pthreadtypes.h:97:3 */
+
+// POSIX spinlock data type.
+type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
+
+// POSIX barriers data type. The structure of the type is
+// deliberately not exposed.
+type Pthread_barrier_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
+} /* pthreadtypes.h:112:3 */
+
+type Pthread_barrierattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
+} /* pthreadtypes.h:118:3 */
+
+// Reentrant versions of the `random' family of functions.
+// These functions all use the following data structure to contain
+// state, rather than global state variables.
+
+type Random_data = struct {
+ Ffptr uintptr
+ Frptr uintptr
+ Fstate uintptr
+ Frand_type int32
+ Frand_deg int32
+ Frand_sep int32
+ Fend_ptr uintptr
+} /* stdlib.h:423:1 */
+
+// Data structure for communication with thread safe versions. This
+// type is to be regarded as opaque. It's only exported because users
+// have to allocate objects of this type.
+type Drand48_data = struct {
+ F__x [3]uint16
+ F__old_x [3]uint16
+ F__c uint16
+ F__init uint16
+ F__a uint64
+} /* stdlib.h:490:1 */
+
+// Shorthand for type of comparison functions.
+type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
+
+// Floating-point inline functions for stdlib.h.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define some macros helping to catch buffer overflows.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_linux_arm64.go b/vendor/modernc.org/libc/stdlib/stdlib_linux_arm64.go
new file mode 100644
index 000000000..9a5d748c8
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_linux_arm64.go
@@ -0,0 +1,1607 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_arm64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FD_SETSIZE = 1024
+ LITTLE_ENDIAN = 1234
+ PDP_ENDIAN = 3412
+ RAND_MAX = 2147483647
+ WCONTINUED = 8
+ WEXITED = 4
+ WNOHANG = 1
+ WNOWAIT = 0x01000000
+ WSTOPPED = 2
+ WUNTRACED = 2
+ X_ALLOCA_H = 1
+ X_ATFILE_SOURCE = 1
+ X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_FLOATN_COMMON_H = 0
+ X_BITS_FLOATN_H = 0
+ X_BITS_PTHREADTYPES_ARCH_H = 1
+ X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_UINTN_IDENTITY_H = 1
+ X_BSD_SIZE_T_ = 0
+ X_BSD_SIZE_T_DEFINED_ = 0
+ X_DEFAULT_SOURCE = 1
+ X_ENDIAN_H = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_GCC_SIZE_T = 0
+ X_GCC_WCHAR_T = 0
+ X_LP64 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
+ X_SIZET_ = 0
+ X_SIZE_T = 0
+ X_SIZE_T_ = 0
+ X_SIZE_T_DECLARED = 0
+ X_SIZE_T_DEFINED = 0
+ X_SIZE_T_DEFINED_ = 0
+ X_STDC_PREDEF_H = 1
+ X_STDLIB_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ X_SYS_SELECT_H = 1
+ X_SYS_SIZE_T_H = 0
+ X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
+ X_THREAD_SHARED_TYPES_H = 1
+ X_T_SIZE = 0
+ X_T_SIZE_ = 0
+ X_T_WCHAR = 0
+ X_T_WCHAR_ = 0
+ X_WCHAR_T = 0
+ X_WCHAR_T_ = 0
+ X_WCHAR_T_DECLARED = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCHAR_T_DEFINED_ = 0
+ X_WCHAR_T_H = 0
+ Linux = 1
+ Unix = 1
+)
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+const ( /* waitflags.h:52:1: */
+ P_ALL = 0 // Wait for any child.
+ P_PID = 1 // Wait for specified process.
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+type Idtype_t = uint32 /* waitflags.h:57:3 */
+// Definitions of status bits for `wait' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Everything extant so far uses these same bits.
+
+// If WIFEXITED(STATUS), the low-order 8 bits of the status.
+
+// If WIFSIGNALED(STATUS), the terminating signal.
+
+// If WIFSTOPPED(STATUS), the signal that stopped the child.
+
+// Nonzero if STATUS indicates normal termination.
+
+// Nonzero if STATUS indicates termination by a signal.
+
+// Nonzero if STATUS indicates the child is stopped.
+
+// Nonzero if STATUS indicates the child continued after a stop. We only
+// define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
+
+// Nonzero if STATUS indicates the child dumped core.
+
+// Macros for constructing status values.
+
+// Define the macros <sys/wait.h> also would define this way.
+
+// _FloatN API tests for enablement.
+// Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-128 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the IEEE 754 binary128 format, and this
+// glibc includes corresponding *f128 interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+// from the default float, double and long double types in this glibc.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for _Float64x, and this
+// glibc includes corresponding *f64x interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+// of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+// the format of _Float128, which must be different from that of long
+// double.
+
+// Defined to concatenate the literal suffix to be used with _Float128
+// types, if __HAVE_FLOAT128 is 1.
+
+// Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// The type _Float128 exists only since GCC 7.0.
+
+// Various built-in functions do not exist before GCC 7.0.
+
+// Macros to control TS 18661-3 glibc features where the same
+// definitions are appropriate for all platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-128 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// This header should be included at the bottom of each bits/floatn.h.
+// It defines the following macros for each _FloatN and _FloatNx type,
+// where the same definitions, or definitions based only on the macros
+// in bits/floatn.h, are appropriate for all glibc configurations.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for this type, and this
+// glibc includes corresponding *fN or *fNx interfaces for it.
+
+// Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
+// type is the first with its format in the sequence of (the default
+// choices for) float, double, long double, _Float16, _Float32,
+// _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
+// glibc; that is, if functions present once per floating-point format
+// rather than once per type are present for this type.
+//
+// All configurations supported by glibc have _Float32 the same format
+// as float, _Float64 and _Float32x the same format as double, the
+// _Float64x the same format as either long double or _Float128. No
+// configurations support _Float128x or, as of GCC 7, have compiler
+// support for a type meeting the requirements for _Float128x.
+
+// Defined to 1 if the corresponding _FloatN type is not binary compatible
+// with the corresponding ISO C type in the current compilation unit as
+// opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+// in glibc.
+
+// Defined to 1 if any _FloatN or _FloatNx types that are not
+// ABI-distinct are however distinct types at the C language level (so
+// for the purposes of __builtin_types_compatible_p and _Generic).
+
+// Defined to concatenate the literal suffix to be used with _FloatN
+// or _FloatNx types, if __HAVE_<type> is 1. The corresponding
+// literal suffixes exist since GCC 7, for C only.
+
+// Defined to a complex type if __HAVE_<type> is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// If double, long double and _Float64 all have the same set of
+// values, TS 18661-3 requires the usual arithmetic conversions on
+// long double and _Float64 to produce _Float64. For this to be the
+// case when building with a compiler without a distinct _Float64
+// type, _Float64 must be a typedef for long double, not for
+// double.
+
+// Returned by `div'.
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:62:5 */
+
+// Returned by `ldiv'.
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:70:5 */
+
+// Returned by `lldiv'.
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:80:5 */
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// No need to mark the typedef with __extension__.
+// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// Tell the libc code that off_t and off64_t are actually the same type
+// for all ABI purposes, even if possibly expressed as different base types
+// for C type-checking purposes.
+
+// Same for ino_t and ino64_t.
+
+// And for __rlim_t and __rlim64_t.
+
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int32 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int64 /* types.h:191:28 */
+
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int64 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int64 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+
+type U_char = X__u_char /* types.h:33:18 */
+type U_short = X__u_short /* types.h:34:19 */
+type U_int = X__u_int /* types.h:35:17 */
+type U_long = X__u_long /* types.h:36:18 */
+type Quad_t = X__quad_t /* types.h:37:18 */
+type U_quad_t = X__u_quad_t /* types.h:38:20 */
+type Fsid_t = X__fsid_t /* types.h:39:18 */
+type Loff_t = X__loff_t /* types.h:42:18 */
+
+type Ino_t = X__ino64_t /* types.h:49:19 */
+
+type Dev_t = X__dev_t /* types.h:59:17 */
+
+type Gid_t = X__gid_t /* types.h:64:17 */
+
+type Mode_t = X__mode_t /* types.h:69:18 */
+
+type Nlink_t = X__nlink_t /* types.h:74:19 */
+
+type Uid_t = X__uid_t /* types.h:79:17 */
+
+type Off_t = X__off64_t /* types.h:87:19 */
+
+type Pid_t = X__pid_t /* types.h:97:17 */
+
+type Id_t = X__id_t /* types.h:103:16 */
+
+type Ssize_t = X__ssize_t /* types.h:108:19 */
+
+type Daddr_t = X__daddr_t /* types.h:114:19 */
+type Caddr_t = X__caddr_t /* types.h:115:19 */
+
+type Key_t = X__key_t /* types.h:121:17 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `clock'.
+type Clock_t = X__clock_t /* clock_t.h:7:19 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Clock ID used in clock and timer functions.
+type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `time'.
+type Time_t = X__time_t /* time_t.h:7:18 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Timer ID returned by `timer_create'.
+type Timer_t = X__timer_t /* timer_t.h:7:19 */
+
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// A null pointer constant.
+
+// Old compatibility names for C types.
+type Ulong = uint64 /* types.h:148:27 */
+type Ushort = uint16 /* types.h:149:28 */
+type Uint = uint32 /* types.h:150:22 */
+
+// These size-specific names are used by some of the inet code.
+
+// Define intN_t types.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type Int8_t = X__int8_t /* stdint-intn.h:24:18 */
+type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
+type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
+type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
+
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
+
+type Register_t = int32 /* types.h:164:13 */
+
+// It also defines `fd_set' and the FD_* macros for `select'.
+// `fd_set' type and related macros, and `select'/`pselect' declarations.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Get definition of needed basic types.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Get __FD_* definitions.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We don't use `memset' because this would require a prototype and
+// the array isn't too big.
+
+// Get sigset_t.
+
+type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
+
+// A set of signals to be blocked, unblocked, or waited for.
+type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
+
+// Get definition of timer specification structures.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// A time value that is accurate to the nearest
+// microsecond but also has a range of years.
+type Timeval = struct {
+ Ftv_sec X__time_t
+ Ftv_usec X__suseconds_t
+} /* struct_timeval.h:8:1 */
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX.1b structure for a time value. This is like a `struct timeval' but
+// has nanoseconds instead of microseconds.
+type Timespec = struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+} /* struct_timespec.h:10:1 */
+
+type Suseconds_t = X__suseconds_t /* select.h:43:23 */
+
+// The fd_set member is required to be an array of longs.
+type X__fd_mask = int64 /* select.h:49:18 */
+
+// Some versions of <linux/posix_types.h> define this macros.
+// It's easier to assume 8-bit bytes than to get CHAR_BIT.
+
+// fd_set for select and pselect.
+type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */
+
+// Maximum number of file descriptors in `fd_set'.
+
+// Sometimes the fd_set member is assumed to have this type.
+type Fd_mask = X__fd_mask /* select.h:77:19 */
+
+// Define some inlines helping to catch common problems.
+
+type Blksize_t = X__blksize_t /* types.h:185:21 */
+
+// Types from the Large File Support interface.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__nusers uint32
+ F__kind int32
+ F__spins int32
+ F__list X__pthread_list_t
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
+
+// Common definition of pthread_cond_t.
+
+type X__pthread_cond_s = struct {
+ F__0 struct{ F__wseq uint64 }
+ F__8 struct{ F__g1_start uint64 }
+ F__g_refs [2]uint32
+ F__g_size [2]uint32
+ F__g1_orig_size uint32
+ F__wrefs uint32
+ F__g_signals [2]uint32
+} /* thread-shared-types.h:92:1 */
+
+// Thread identifiers. The structure of the attribute type is not
+// exposed on purpose.
+type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
+
+// Data structures for mutex handling. The structure of the attribute
+// type is not exposed on purpose.
+type Pthread_mutexattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
+} /* pthreadtypes.h:36:3 */
+
+// Data structure for condition variable handling. The structure of
+// the attribute type is not exposed on purpose.
+type Pthread_condattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
+} /* pthreadtypes.h:45:3 */
+
+// Keys for thread-specific data
+type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
+
+// Once-only execution
+type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
+
+type Pthread_attr_t1 = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
+} /* pthreadtypes.h:56:1 */
+
+type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
+
+type Pthread_mutex_t = struct {
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
+} /* pthreadtypes.h:72:3 */
+
+type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
+
+// Data structure for reader-writer lock variable handling. The
+// structure of the attribute type is deliberately not exposed.
+type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
+
+type Pthread_rwlockattr_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
+} /* pthreadtypes.h:97:3 */
+
+// POSIX spinlock data type.
+type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
+
+// POSIX barriers data type. The structure of the type is
+// deliberately not exposed.
+type Pthread_barrier_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
+} /* pthreadtypes.h:112:3 */
+
+type Pthread_barrierattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
+} /* pthreadtypes.h:118:3 */
+
+// Reentrant versions of the `random' family of functions.
+// These functions all use the following data structure to contain
+// state, rather than global state variables.
+
+type Random_data = struct {
+ Ffptr uintptr
+ Frptr uintptr
+ Fstate uintptr
+ Frand_type int32
+ Frand_deg int32
+ Frand_sep int32
+ F__ccgo_pad1 [4]byte
+ Fend_ptr uintptr
+} /* stdlib.h:423:1 */
+
+// Data structure for communication with thread safe versions. This
+// type is to be regarded as opaque. It's only exported because users
+// have to allocate objects of this type.
+type Drand48_data = struct {
+ F__x [3]uint16
+ F__old_x [3]uint16
+ F__c uint16
+ F__init uint16
+ F__a uint64
+} /* stdlib.h:490:1 */
+
+// Shorthand for type of comparison functions.
+type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
+
+// Floating-point inline functions for stdlib.h.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define some macros helping to catch buffer overflows.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_linux_s390x.go b/vendor/modernc.org/libc/stdlib/stdlib_linux_s390x.go
new file mode 100644
index 000000000..7e5b7e690
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_linux_s390x.go
@@ -0,0 +1,1532 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_linux_s390x.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 4321
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FD_SETSIZE = 1024
+ LITTLE_ENDIAN = 1234
+ PDP_ENDIAN = 3412
+ RAND_MAX = 2147483647
+ WCONTINUED = 8
+ WEXITED = 4
+ WNOHANG = 1
+ WNOWAIT = 0x01000000
+ WSTOPPED = 2
+ WUNTRACED = 2
+ X_ALLOCA_H = 1
+ X_ATFILE_SOURCE = 1
+ X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_FLOATN_COMMON_H = 0
+ X_BITS_FLOATN_H = 0
+ X_BITS_PTHREADTYPES_ARCH_H = 1
+ X_BITS_PTHREADTYPES_COMMON_H = 1
+ X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_UINTN_IDENTITY_H = 1
+ X_BSD_SIZE_T_ = 0
+ X_BSD_SIZE_T_DEFINED_ = 0
+ X_DEFAULT_SOURCE = 1
+ X_ENDIAN_H = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_GCC_SIZE_T = 0
+ X_GCC_WCHAR_T = 0
+ X_LP64 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
+ X_SIZET_ = 0
+ X_SIZE_T = 0
+ X_SIZE_T_ = 0
+ X_SIZE_T_DECLARED = 0
+ X_SIZE_T_DEFINED = 0
+ X_SIZE_T_DEFINED_ = 0
+ X_STDC_PREDEF_H = 1
+ X_STDLIB_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ X_SYS_SELECT_H = 1
+ X_SYS_SIZE_T_H = 0
+ X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
+ X_THREAD_SHARED_TYPES_H = 1
+ X_T_SIZE = 0
+ X_T_SIZE_ = 0
+ X_T_WCHAR = 0
+ X_T_WCHAR_ = 0
+ X_WCHAR_T = 0
+ X_WCHAR_T_ = 0
+ X_WCHAR_T_DECLARED = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCHAR_T_DEFINED_ = 0
+ X_WCHAR_T_H = 0
+ Linux = 1
+ Unix = 1
+)
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+const ( /* waitflags.h:52:1: */
+ P_ALL = 0 // Wait for any child.
+ P_PID = 1 // Wait for specified process.
+ P_PGID = 2
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+type Idtype_t = uint32 /* waitflags.h:57:3 */
+// Definitions of status bits for `wait' et al.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Everything extant so far uses these same bits.
+
+// If WIFEXITED(STATUS), the low-order 8 bits of the status.
+
+// If WIFSIGNALED(STATUS), the terminating signal.
+
+// If WIFSTOPPED(STATUS), the signal that stopped the child.
+
+// Nonzero if STATUS indicates normal termination.
+
+// Nonzero if STATUS indicates termination by a signal.
+
+// Nonzero if STATUS indicates the child is stopped.
+
+// Nonzero if STATUS indicates the child continued after a stop. We only
+// define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
+
+// Nonzero if STATUS indicates the child dumped core.
+
+// Macros for constructing status values.
+
+// Define the macros <sys/wait.h> also would define this way.
+
+// _FloatN API tests for enablement.
+// Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-opt version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the IEEE 754 binary128 format, and this
+// glibc includes corresponding *f128 interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+// from the default float, double and long double types in this glibc.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for _Float64x, and this
+// glibc includes corresponding *f64x interfaces for it.
+
+// Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+// of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+// the format of _Float128, which must be different from that of long
+// double.
+
+// Defined to concatenate the literal suffix to be used with _Float128
+// types, if __HAVE_FLOAT128 is 1.
+
+// Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// The type _Float128 exists only since GCC 7.0.
+
+// Various built-in functions do not exist before GCC 7.0.
+
+// Macros to control TS 18661-3 glibc features where the same
+// definitions are appropriate for all platforms.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-opt version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This header should be included at the bottom of each bits/floatn.h.
+// It defines the following macros for each _FloatN and _FloatNx type,
+// where the same definitions, or definitions based only on the macros
+// in bits/floatn.h, are appropriate for all glibc configurations.
+
+// Defined to 1 if the current compiler invocation provides a
+// floating-point type with the right format for this type, and this
+// glibc includes corresponding *fN or *fNx interfaces for it.
+
+// Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
+// type is the first with its format in the sequence of (the default
+// choices for) float, double, long double, _Float16, _Float32,
+// _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
+// glibc; that is, if functions present once per floating-point format
+// rather than once per type are present for this type.
+//
+// All configurations supported by glibc have _Float32 the same format
+// as float, _Float64 and _Float32x the same format as double, the
+// _Float64x the same format as either long double or _Float128. No
+// configurations support _Float128x or, as of GCC 7, have compiler
+// support for a type meeting the requirements for _Float128x.
+
+// Defined to 1 if the corresponding _FloatN type is not binary compatible
+// with the corresponding ISO C type in the current compilation unit as
+// opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+// in glibc.
+
+// Defined to 1 if any _FloatN or _FloatNx types that are not
+// ABI-distinct are however distinct types at the C language level (so
+// for the purposes of __builtin_types_compatible_p and _Generic).
+
+// Defined to concatenate the literal suffix to be used with _FloatN
+// or _FloatNx types, if __HAVE_<type> is 1. The corresponding
+// literal suffixes exist since GCC 7, for C only.
+
+// Defined to a complex type if __HAVE_<type> is 1.
+
+// The remaining of this file provides support for older compilers.
+
+// If double, long double and _Float64 all have the same set of
+// values, TS 18661-3 requires the usual arithmetic conversions on
+// long double and _Float64 to produce _Float64. For this to be the
+// case when building with a compiler without a distinct _Float64
+// type, _Float64 must be a typedef for long double, not for
+// double.
+
+// Returned by `div'.
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:62:5 */
+
+// Returned by `ldiv'.
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:70:5 */
+
+// Returned by `lldiv'.
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:80:5 */
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// No need to mark the typedef with __extension__.
+// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// size_t is unsigned long int on s390 -m31.
+
+// Tell the libc code that off_t and off64_t are actually the same type
+// for all ABI purposes, even if possibly expressed as different base types
+// for C type-checking purposes.
+
+// Same for ino_t and ino64_t.
+
+// And for __rlim_t and __rlim64_t.
+
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int64 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int64 /* types.h:191:28 */
+
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int64 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int64 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+
+type U_char = X__u_char /* types.h:33:18 */
+type U_short = X__u_short /* types.h:34:19 */
+type U_int = X__u_int /* types.h:35:17 */
+type U_long = X__u_long /* types.h:36:18 */
+type Quad_t = X__quad_t /* types.h:37:18 */
+type U_quad_t = X__u_quad_t /* types.h:38:20 */
+type Fsid_t = X__fsid_t /* types.h:39:18 */
+type Loff_t = X__loff_t /* types.h:42:18 */
+
+type Ino_t = X__ino64_t /* types.h:49:19 */
+
+type Dev_t = X__dev_t /* types.h:59:17 */
+
+type Gid_t = X__gid_t /* types.h:64:17 */
+
+type Mode_t = X__mode_t /* types.h:69:18 */
+
+type Nlink_t = X__nlink_t /* types.h:74:19 */
+
+type Uid_t = X__uid_t /* types.h:79:17 */
+
+type Off_t = X__off64_t /* types.h:87:19 */
+
+type Pid_t = X__pid_t /* types.h:97:17 */
+
+type Id_t = X__id_t /* types.h:103:16 */
+
+type Ssize_t = X__ssize_t /* types.h:108:19 */
+
+type Daddr_t = X__daddr_t /* types.h:114:19 */
+type Caddr_t = X__caddr_t /* types.h:115:19 */
+
+type Key_t = X__key_t /* types.h:121:17 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `clock'.
+type Clock_t = X__clock_t /* clock_t.h:7:19 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Clock ID used in clock and timer functions.
+type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `time'.
+type Time_t = X__time_t /* time_t.h:7:18 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Timer ID returned by `timer_create'.
+type Timer_t = X__timer_t /* timer_t.h:7:19 */
+
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// A null pointer constant.
+
+// Old compatibility names for C types.
+type Ulong = uint64 /* types.h:148:27 */
+type Ushort = uint16 /* types.h:149:28 */
+type Uint = uint32 /* types.h:150:22 */
+
+// These size-specific names are used by some of the inet code.
+
+// Define intN_t types.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type Int8_t = X__int8_t /* stdint-intn.h:24:18 */
+type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
+type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
+type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
+
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
+
+type Register_t = int32 /* types.h:164:13 */
+
+// It also defines `fd_set' and the FD_* macros for `select'.
+// `fd_set' type and related macros, and `select'/`pselect' declarations.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Get definition of needed basic types.
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Get __FD_* definitions.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We don't use `memset' because this would require a prototype and
+// the array isn't too big.
+
+// Get sigset_t.
+
+type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
+
+// A set of signals to be blocked, unblocked, or waited for.
+type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
+
+// Get definition of timer specification structures.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// A time value that is accurate to the nearest
+// microsecond but also has a range of years.
+type Timeval = struct {
+ Ftv_sec X__time_t
+ Ftv_usec X__suseconds_t
+} /* struct_timeval.h:8:1 */
+
+// NB: Include guard matches what <linux/time.h> uses.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX.1b structure for a time value. This is like a `struct timeval' but
+// has nanoseconds instead of microseconds.
+type Timespec = struct {
+ Ftv_sec X__time_t
+ Ftv_nsec X__syscall_slong_t
+} /* struct_timespec.h:10:1 */
+
+type Suseconds_t = X__suseconds_t /* select.h:43:23 */
+
+// The fd_set member is required to be an array of longs.
+type X__fd_mask = int64 /* select.h:49:18 */
+
+// Some versions of <linux/posix_types.h> define this macros.
+// It's easier to assume 8-bit bytes than to get CHAR_BIT.
+
+// fd_set for select and pselect.
+type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */
+
+// Maximum number of file descriptors in `fd_set'.
+
+// Sometimes the fd_set member is assumed to have this type.
+type Fd_mask = X__fd_mask /* select.h:77:19 */
+
+// Define some inlines helping to catch common problems.
+
+type Blksize_t = X__blksize_t /* types.h:185:21 */
+
+// Types from the Large File Support interface.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__nusers uint32
+ F__kind int32
+ F__spins int16
+ F__elision int16
+ F__list X__pthread_list_t
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
+
+// Common definition of pthread_cond_t.
+
+type X__pthread_cond_s = struct {
+ F__0 struct{ F__wseq uint64 }
+ F__8 struct{ F__g1_start uint64 }
+ F__g_refs [2]uint32
+ F__g_size [2]uint32
+ F__g1_orig_size uint32
+ F__wrefs uint32
+ F__g_signals [2]uint32
+} /* thread-shared-types.h:92:1 */
+
+// Thread identifiers. The structure of the attribute type is not
+// exposed on purpose.
+type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
+
+// Data structures for mutex handling. The structure of the attribute
+// type is not exposed on purpose.
+type Pthread_mutexattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
+} /* pthreadtypes.h:36:3 */
+
+// Data structure for condition variable handling. The structure of
+// the attribute type is not exposed on purpose.
+type Pthread_condattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
+} /* pthreadtypes.h:45:3 */
+
+// Keys for thread-specific data
+type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
+
+// Once-only execution
+type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
+
+type Pthread_attr_t1 = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
+} /* pthreadtypes.h:56:1 */
+
+type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
+
+type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */
+
+type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
+
+// Data structure for reader-writer lock variable handling. The
+// structure of the attribute type is deliberately not exposed.
+type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
+
+type Pthread_rwlockattr_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
+} /* pthreadtypes.h:97:3 */
+
+// POSIX spinlock data type.
+type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
+
+// POSIX barriers data type. The structure of the type is
+// deliberately not exposed.
+type Pthread_barrier_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
+} /* pthreadtypes.h:112:3 */
+
+type Pthread_barrierattr_t = struct {
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
+} /* pthreadtypes.h:118:3 */
+
+// Reentrant versions of the `random' family of functions.
+// These functions all use the following data structure to contain
+// state, rather than global state variables.
+
+type Random_data = struct {
+ Ffptr uintptr
+ Frptr uintptr
+ Fstate uintptr
+ Frand_type int32
+ Frand_deg int32
+ Frand_sep int32
+ F__ccgo_pad1 [4]byte
+ Fend_ptr uintptr
+} /* stdlib.h:423:1 */
+
+// Data structure for communication with thread safe versions. This
+// type is to be regarded as opaque. It's only exported because users
+// have to allocate objects of this type.
+type Drand48_data = struct {
+ F__x [3]uint16
+ F__old_x [3]uint16
+ F__c uint16
+ F__init uint16
+ F__a uint64
+} /* stdlib.h:490:1 */
+
+// Shorthand for type of comparison functions.
+type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
+
+// Floating-point inline functions for stdlib.h.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define some macros helping to catch buffer overflows.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_netbsd_amd64.go b/vendor/modernc.org/libc/stdlib/stdlib_netbsd_amd64.go
new file mode 100644
index 000000000..934560e9e
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_netbsd_amd64.go
@@ -0,0 +1,1620 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_netbsd_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ FD_SETSIZE = 256
+ HN_AUTOSCALE = 0x20
+ HN_B = 0x04
+ HN_DECIMAL = 0x01
+ HN_DIVISOR_1000 = 0x08
+ HN_GETSCALE = 0x10
+ HN_NOSPACE = 0x02
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ RANDOM_MAX = 0x7fffffff
+ RAND_MAX = 0x7fffffff
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_STDLIB_H_ = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+type Div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:59:3 */
+
+type Ldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:64:3 */
+
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:74:3 */
+
+type Qdiv_t = struct {
+ Fquot Quad_t
+ Frem Quad_t
+} /* stdlib.h:81:3 */
+
+type Locale_t = uintptr /* stdlib.h:357:25 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_windows_386.go b/vendor/modernc.org/libc/stdlib/stdlib_windows_386.go
new file mode 100644
index 000000000..731c6661c
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_windows_386.go
@@ -0,0 +1,547 @@
+// Code generated by 'ccgo stdlib/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 stdlib/stdlib_windows_386.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+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
+ 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
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ 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
+ MB_LEN_MAX = 5
+ MINGW_DDK_H = 0
+ MINGW_HAS_DDK_H = 1
+ MINGW_HAS_SECURE_API = 1
+ MINGW_SDK_INIT = 0
+ PATH_MAX = 260
+ RAND_MAX = 0x7fff
+ SCHAR_MAX = 127
+ SCHAR_MIN = -128
+ SHRT_MAX = 32767
+ SHRT_MIN = -32768
+ SIZE_MAX = 4294967295
+ SSIZE_MAX = 2147483647
+ UCHAR_MAX = 255
+ UINT_MAX = 4294967295
+ ULLONG_MAX = 18446744073709551615
+ ULONG_LONG_MAX = 18446744073709551615
+ ULONG_MAX = 4294967295
+ UNALIGNED = 0
+ USE___UUIDOF = 0
+ USHRT_MAX = 65535
+ WIN32 = 1
+ WINNT = 1
+ X_AGLOBAL = 0
+ X_ALLOCA_S_HEAP_MARKER = 0xDDDD
+ X_ALLOCA_S_MARKER_SIZE = 8
+ X_ALLOCA_S_STACK_MARKER = 0xCCCC
+ X_ALLOCA_S_THRESHOLD = 1024
+ X_ANONYMOUS_STRUCT = 0
+ X_ANONYMOUS_UNION = 0
+ X_ARGMAX = 100
+ X_CALL_REPORTFAULT = 0x2
+ X_CONST_RETURN = 0
+ X_CRTNOALIAS = 0
+ X_CRTRESTRICT = 0
+ X_CRT_ABS_DEFINED = 0
+ X_CRT_ALGO_DEFINED = 0
+ X_CRT_ALLOCATION_DEFINED = 0
+ X_CRT_ALTERNATIVE_IMPORTED = 0
+ X_CRT_ATOF_DEFINED = 0
+ X_CRT_DOUBLE_DEC = 0
+ X_CRT_ERRNO_DEFINED = 0
+ X_CRT_MANAGED_HEAP_DEPRECATE = 0
+ X_CRT_PACKING = 8
+ X_CRT_PERROR_DEFINED = 0
+ 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_SWAB_DEFINED = 0
+ X_CRT_SYSTEM_DEFINED = 0
+ X_CRT_TERMINATE_DEFINED = 0
+ X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
+ X_CRT_WPERROR_DEFINED = 0
+ X_CRT_WSYSTEM_DEFINED = 0
+ X_CVTBUFSIZE = 349
+ X_DIV_T_DEFINED = 0
+ X_DLL = 0
+ X_ERRCODE_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FREEA_INLINE = 0
+ X_FREEENTRY = 0
+ X_GCC_LIMITS_H_ = 0
+ X_HEAPBADBEGIN = -3
+ X_HEAPBADNODE = -4
+ X_HEAPBADPTR = -6
+ X_HEAPEMPTY = -1
+ X_HEAPEND = -5
+ X_HEAPINFO_DEFINED = 0
+ X_HEAPOK = -2
+ X_HEAP_MAXREQ = 0xFFFFFFE0
+ X_I16_MAX = 32767
+ X_I16_MIN = -32768
+ X_I32_MAX = 2147483647
+ X_I32_MIN = -2147483648
+ X_I64_MAX = 9223372036854775807
+ X_I64_MIN = -9223372036854775808
+ X_I8_MAX = 127
+ X_I8_MIN = -128
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
+ X_INC_CORECRT_WSTDLIB = 0
+ X_INC_CRTDEFS = 0
+ X_INC_CRTDEFS_MACRO = 0
+ X_INC_LIMITS = 0
+ X_INC_MINGW_SECAPI = 0
+ X_INC_STDLIB = 0
+ X_INC_STDLIB_S = 0
+ X_INC_VADEFS = 0
+ X_INC__MINGW_H = 0
+ X_INT128_DEFINED = 0
+ X_INTEGRAL_MAX_BITS = 64
+ X_INTPTR_T_DEFINED = 0
+ X_LIMITS_H___ = 0
+ X_MALLOC_H_ = 0
+ X_MAX_DIR = 256
+ X_MAX_DRIVE = 3
+ X_MAX_ENV = 32767
+ X_MAX_EXT = 256
+ X_MAX_FNAME = 256
+ X_MAX_PATH = 260
+ X_MAX_WAIT_MALLOC_CRT = 60000
+ X_MM_MALLOC_H_INCLUDED = 0
+ X_MT = 0
+ X_M_IX86 = 600
+ X_ONEXIT_T_DEFINED = 0
+ X_OUT_TO_DEFAULT = 0
+ X_OUT_TO_MSGBOX = 2
+ X_OUT_TO_STDERR = 1
+ X_PGLOBAL = 0
+ X_PTRDIFF_T_ = 0
+ X_PTRDIFF_T_DEFINED = 0
+ X_QSORT_S_DEFINED = 0
+ X_REPORT_ERRMODE = 3
+ X_RSIZE_T_DEFINED = 0
+ X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
+ X_SIZE_T_DEFINED = 0
+ X_SSIZE_T_DEFINED = 0
+ X_TAGLC_ID_DEFINED = 0
+ X_THREADLOCALEINFO = 0
+ X_TIME32_T_DEFINED = 0
+ X_TIME64_T_DEFINED = 0
+ X_TIME_T_DEFINED = 0
+ X_UI16_MAX = 0xffff
+ X_UI32_MAX = 0xffffffff
+ X_UI64_MAX = 0xffffffffffffffff
+ X_UI8_MAX = 0xff
+ X_UINTPTR_T_DEFINED = 0
+ X_USEDENTRY = 1
+ X_USE_32BIT_TIME_T = 0
+ X_VA_LIST_DEFINED = 0
+ X_W64 = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCTYPE_T_DEFINED = 0
+ X_WIN32 = 1
+ X_WIN32_WINNT = 0x502
+ X_WINT_T = 0
+ X_WRITE_ABORT_MSG = 0x1
+ X_WSTDLIBP_DEFINED = 0
+ X_WSTDLIB_DEFINED = 0
+ X_X86_ = 1
+ I386 = 1
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint16 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+type Va_list = X__builtin_va_list /* <builtin>:50:27 */
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+// a specific fix/patch is present on trunk. This value isn't related to
+// minor/major version-macros. It is increased on demand, if a big
+// fix was applied to trunk. This macro gets just increased on trunk. For
+// other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+// and the __mingwthr_key_dtor() function from the MinGW
+// CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// For x86 we have always to prefix by underscore.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+// So we add some helper macros to ease recognition of them.
+
+// 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.
+
+// *
+// 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 = int32 /* corecrt.h:52:13 */
+
+type Rsize_t = Size_t /* corecrt.h:57:16 */
+
+type Intptr_t = int32 /* corecrt.h:69:13 */
+
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
+
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
+
+type Errno_t = int32 /* corecrt.h:118:13 */
+
+type X__time32_t = int32 /* corecrt.h:123:14 */
+
+type X__time64_t = int64 /* corecrt.h:128:35 */
+
+type Time_t = X__time32_t /* corecrt.h:141:20 */
+
+type Threadlocaleinfostruct = struct {
+ Frefcount int32
+ Flc_codepage uint32
+ Flc_collate_cp uint32
+ Flc_handle [6]uint32
+ Flc_id [6]LC_ID
+ Flc_category [6]struct {
+ Flocale uintptr
+ Fwlocale uintptr
+ Frefcount uintptr
+ Fwrefcount uintptr
+ }
+ Flc_clike int32
+ Fmb_cur_max int32
+ Flconv_intl_refcount uintptr
+ Flconv_num_refcount uintptr
+ Flconv_mon_refcount uintptr
+ Flconv uintptr
+ Fctype1_refcount uintptr
+ Fctype1 uintptr
+ Fpctype uintptr
+ Fpclmap uintptr
+ Fpcumap uintptr
+ Flc_time_curr uintptr
+} /* corecrt.h:435:1 */
+
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
+
+type Localeinfo_struct = struct {
+ Flocinfo Pthreadlocinfo
+ Fmbcinfo Pthreadmbcinfo
+} /* corecrt.h:441:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
+
+type TagLC_ID = struct {
+ FwLanguage uint16
+ FwCountry uint16
+ FwCodePage uint16
+} /* corecrt.h:435:1 */
+
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
+
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 3, or (at your option) any later
+// version.
+//
+// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// This administrivia gets added to the beginning of limits.h
+// if the system has its own version of limits.h.
+
+// We use _GCC_LIMITS_H_ because we want this not to match
+// any macros that the system's limits.h uses for its own purposes.
+
+// Use "..." so that we find syslimits.h only in this same directory.
+// syslimits.h stands for the system's own limits.h file.
+// If we can use it ok unmodified, then we install this text.
+// If fixincludes fixes it, then the fixed version is installed
+// instead of this text.
+
+// *
+// 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.
+
+// File system limits
+//
+// NOTE: Apparently the actual size of PATH_MAX is 260, but a space is
+// required for the NUL. TODO: Test?
+// NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two
+// are semantically identical, with a limit of 259 characters for the
+// path name, plus one for a terminating NUL, for a total of 260.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 3, or (at your option) any later
+// version.
+//
+// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// Number of bits in a `char'.
+
+// Maximum length of a multibyte character.
+
+// Minimum and maximum values a `signed char' can hold.
+
+// Maximum value an `unsigned char' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `char' can hold.
+
+// Minimum and maximum values a `signed short int' can hold.
+
+// Maximum value an `unsigned short int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed int' can hold.
+
+// Maximum value an `unsigned int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed long int' can hold.
+// (Same as `int').
+
+// Maximum value an `unsigned long int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed long long int' can hold.
+
+// Maximum value an `unsigned long long int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed long long int' can hold.
+
+// Maximum value an `unsigned long long int' can hold. (Minimum is 0).
+
+// This administrivia gets added to the end of limits.h
+// if the system has its own version of limits.h.
+
+type X_onexit_t = uintptr /* stdlib.h:50:15 */
+
+type X_div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:60:11 */
+
+type Div_t = X_div_t /* stdlib.h:63:5 */
+
+type X_ldiv_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:65:11 */
+
+type Ldiv_t = X_ldiv_t /* stdlib.h:68:5 */
+
+type X_LDOUBLE = struct{ Fld [10]uint8 } /* stdlib.h:77:5 */
+
+type X_CRT_DOUBLE = struct{ Fx float64 } /* stdlib.h:84:5 */
+
+type X_CRT_FLOAT = struct{ Ff float32 } /* stdlib.h:88:5 */
+
+type X_LONGDOUBLE = struct{ Fx float64 } /* stdlib.h:95:5 */
+
+type X_LDBL12 = struct{ Fld12 [12]uint8 } /* stdlib.h:102:5 */
+
+type X_purecall_handler = uintptr /* stdlib.h:143:16 */
+
+type X_invalid_parameter_handler = uintptr /* stdlib.h:148:16 */
+
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:727:61 */
+
+// *
+// 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.
+
+// Return codes for _heapwalk()
+
+// Values for _heapinfo.useflag
+
+// The structure used to walk through the heap with _heapwalk.
+type X_heapinfo = struct {
+ F_pentry uintptr
+ F_size Size_t
+ F_useflag int32
+} /* malloc.h:46:11 */
+
+// *
+// 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.
+
+// Return codes for _heapwalk()
+
+// Values for _heapinfo.useflag
+
+// The structure used to walk through the heap with _heapwalk.
+type X_HEAPINFO = X_heapinfo /* malloc.h:50:5 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/stdlib/stdlib_windows_amd64.go b/vendor/modernc.org/libc/stdlib/stdlib_windows_amd64.go
new file mode 100644
index 000000000..42727e66a
--- /dev/null
+++ b/vendor/modernc.org/libc/stdlib/stdlib_windows_amd64.go
@@ -0,0 +1,548 @@
+// Code generated by 'ccgo stdlib\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 stdlib\stdlib_windows_amd64.go -pkgname stdlib', DO NOT EDIT.
+
+package stdlib
+
+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
+ 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
+ EXIT_FAILURE = 1
+ EXIT_SUCCESS = 0
+ 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
+ MB_LEN_MAX = 5
+ MINGW_DDK_H = 0
+ MINGW_DDRAW_VERSION = 7
+ MINGW_HAS_DDK_H = 1
+ MINGW_HAS_DDRAW_H = 1
+ MINGW_HAS_SECURE_API = 1
+ MINGW_SDK_INIT = 0
+ PATH_MAX = 260
+ RAND_MAX = 0x7fff
+ SCHAR_MAX = 127
+ SCHAR_MIN = -128
+ SHRT_MAX = 32767
+ SHRT_MIN = -32768
+ SIZE_MAX = 18446744073709551615
+ SSIZE_MAX = 9223372036854775807
+ UCHAR_MAX = 255
+ UINT_MAX = 4294967295
+ ULLONG_MAX = 18446744073709551615
+ ULONG_LONG_MAX = 18446744073709551615
+ ULONG_MAX = 4294967295
+ UNALIGNED = 0
+ USE___UUIDOF = 0
+ USHRT_MAX = 65535
+ WIN32 = 1
+ WIN64 = 1
+ WINNT = 1
+ X_AGLOBAL = 0
+ X_ALLOCA_S_HEAP_MARKER = 0xDDDD
+ X_ALLOCA_S_MARKER_SIZE = 16
+ X_ALLOCA_S_STACK_MARKER = 0xCCCC
+ X_ALLOCA_S_THRESHOLD = 1024
+ X_ANONYMOUS_STRUCT = 0
+ X_ANONYMOUS_UNION = 0
+ X_ARGMAX = 100
+ X_CALL_REPORTFAULT = 0x2
+ X_CONST_RETURN = 0
+ X_CRTNOALIAS = 0
+ X_CRTRESTRICT = 0
+ X_CRT_ABS_DEFINED = 0
+ X_CRT_ALGO_DEFINED = 0
+ X_CRT_ALLOCATION_DEFINED = 0
+ X_CRT_ALTERNATIVE_IMPORTED = 0
+ X_CRT_ATOF_DEFINED = 0
+ X_CRT_DOUBLE_DEC = 0
+ X_CRT_ERRNO_DEFINED = 0
+ X_CRT_MANAGED_HEAP_DEPRECATE = 0
+ X_CRT_PACKING = 8
+ X_CRT_PERROR_DEFINED = 0
+ 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_SWAB_DEFINED = 0
+ X_CRT_SYSTEM_DEFINED = 0
+ X_CRT_TERMINATE_DEFINED = 0
+ X_CRT_WPERROR_DEFINED = 0
+ X_CRT_WSYSTEM_DEFINED = 0
+ X_CVTBUFSIZE = 349
+ X_DIV_T_DEFINED = 0
+ X_DLL = 0
+ X_ERRCODE_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_FREEA_INLINE = 0
+ X_FREEENTRY = 0
+ X_GCC_LIMITS_H_ = 0
+ X_HEAPBADBEGIN = -3
+ X_HEAPBADNODE = -4
+ X_HEAPBADPTR = -6
+ X_HEAPEMPTY = -1
+ X_HEAPEND = -5
+ X_HEAPINFO_DEFINED = 0
+ X_HEAPOK = -2
+ X_HEAP_MAXREQ = 0xFFFFFFFFFFFFFFE0
+ X_I16_MAX = 32767
+ X_I16_MIN = -32768
+ X_I32_MAX = 2147483647
+ X_I32_MIN = -2147483648
+ X_I64_MAX = 9223372036854775807
+ X_I64_MIN = -9223372036854775808
+ X_I8_MAX = 127
+ X_I8_MIN = -128
+ X_INC_CRTDEFS = 0
+ X_INC_CRTDEFS_MACRO = 0
+ X_INC_LIMITS = 0
+ X_INC_MINGW_SECAPI = 0
+ X_INC_STDLIB = 0
+ X_INC_STDLIB_S = 0
+ X_INC_VADEFS = 0
+ X_INC__MINGW_H = 0
+ X_INT128_DEFINED = 0
+ X_INTEGRAL_MAX_BITS = 64
+ X_INTPTR_T_DEFINED = 0
+ X_LIMITS_H___ = 0
+ X_MALLOC_H_ = 0
+ X_MAX_DIR = 256
+ X_MAX_DRIVE = 3
+ X_MAX_ENV = 32767
+ X_MAX_EXT = 256
+ X_MAX_FNAME = 256
+ X_MAX_PATH = 260
+ X_MAX_WAIT_MALLOC_CRT = 60000
+ X_MM_MALLOC_H_INCLUDED = 0
+ X_MT = 0
+ X_M_AMD64 = 100
+ X_M_X64 = 100
+ X_ONEXIT_T_DEFINED = 0
+ X_OUT_TO_DEFAULT = 0
+ X_OUT_TO_MSGBOX = 2
+ X_OUT_TO_STDERR = 1
+ X_PGLOBAL = 0
+ X_PTRDIFF_T_ = 0
+ X_PTRDIFF_T_DEFINED = 0
+ X_QSORT_S_DEFINED = 0
+ X_REENTRANT = 1
+ X_REPORT_ERRMODE = 3
+ X_RSIZE_T_DEFINED = 0
+ X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
+ X_SIZE_T_DEFINED = 0
+ X_SSIZE_T_DEFINED = 0
+ X_TAGLC_ID_DEFINED = 0
+ X_THREADLOCALEINFO = 0
+ X_TIME32_T_DEFINED = 0
+ X_TIME64_T_DEFINED = 0
+ X_TIME_T_DEFINED = 0
+ X_UI16_MAX = 0xffff
+ X_UI32_MAX = 0xffffffff
+ X_UI64_MAX = 0xffffffffffffffff
+ X_UI8_MAX = 0xff
+ X_UINTPTR_T_DEFINED = 0
+ X_USEDENTRY = 1
+ X_VA_LIST_DEFINED = 0
+ X_W64 = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCTYPE_T_DEFINED = 0
+ X_WIN32 = 1
+ X_WIN32_WINNT = 0x502
+ X_WIN64 = 1
+ X_WINT_T = 0
+ X_WRITE_ABORT_MSG = 0x1
+ X_WSTDLIBP_DEFINED = 0
+ X_WSTDLIBP_S_DEFINED = 0
+ X_WSTDLIB_DEFINED = 0
+ X_WSTDLIB_S_DEFINED = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = uint16 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+type Va_list = X__builtin_va_list /* <builtin>:50:27 */
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+// a specific fix/patch is present on trunk. This value isn't related to
+// minor/major version-macros. It is increased on demand, if a big
+// fix was applied to trunk. This macro gets just increased on trunk. For
+// other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+// and the __mingwthr_key_dtor() function from the MinGW
+// CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// MS does not prefix symbols by underscores for 64-bit.
+// As we have to support older gcc version, which are using underscores
+// as symbol prefix for x64, we have to check here for the user label
+// prefix defined by gcc.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+// So we add some helper macros to ease recognition of them.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
+// Templates won't work in C, will break if secure API is not enabled, disabled
+
+// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
+// fallback on default implementation if we can't know the size of the destination
+
+// Include _cygwin.h if we're building a Cygwin application.
+
+// Target specific macro replacement for type "long". In the Windows API,
+// the type long is always 32 bit, even if the target is 64 bit (LLP64).
+// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
+// sized definitions and declarations, all usage of type long in the Windows
+// headers have to be replaced by the below defined macro __LONG32.
+
+// C/C++ specific language defines.
+
+// Note the extern. This is needed to work around GCC's
+// limitations in handling dllimport attribute.
+
+// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
+// variadiac macro facility, because variadic macros cause syntax
+// errors with --traditional-cpp.
+
+// High byte is the major version, low byte is the minor.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
+
+type Ssize_t = int64 /* crtdefs.h:45:35 */
+
+type Rsize_t = Size_t /* crtdefs.h:52:16 */
+
+type Intptr_t = int64 /* crtdefs.h:62:35 */
+
+type Uintptr_t = uint64 /* crtdefs.h:75:44 */
+
+type Wint_t = uint16 /* crtdefs.h:106:24 */
+type Wctype_t = uint16 /* crtdefs.h:107:24 */
+
+type Errno_t = int32 /* crtdefs.h:113:13 */
+
+type X__time32_t = int32 /* crtdefs.h:118:14 */
+
+type X__time64_t = int64 /* crtdefs.h:123:35 */
+
+type Time_t = X__time64_t /* crtdefs.h:138:20 */
+
+type Threadlocaleinfostruct = struct {
+ Frefcount int32
+ Flc_codepage uint32
+ Flc_collate_cp uint32
+ Flc_handle [6]uint32
+ Flc_id [6]LC_ID
+ Flc_category [6]struct {
+ Flocale uintptr
+ Fwlocale uintptr
+ Frefcount uintptr
+ Fwrefcount uintptr
+ }
+ Flc_clike int32
+ Fmb_cur_max int32
+ Flconv_intl_refcount uintptr
+ Flconv_num_refcount uintptr
+ Flconv_mon_refcount uintptr
+ Flconv uintptr
+ Fctype1_refcount uintptr
+ Fctype1 uintptr
+ Fpctype uintptr
+ Fpclmap uintptr
+ Fpcumap uintptr
+ Flc_time_curr uintptr
+} /* crtdefs.h:422:1 */
+
+type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
+type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+
+type Localeinfo_struct = struct {
+ Flocinfo Pthreadlocinfo
+ Fmbcinfo Pthreadmbcinfo
+} /* crtdefs.h:428:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
+type X_locale_t = uintptr /* crtdefs.h:431:19 */
+
+type TagLC_ID = struct {
+ FwLanguage uint16
+ FwCountry uint16
+ FwCodePage uint16
+} /* crtdefs.h:422:1 */
+
+type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
+type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+
+// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 3, or (at your option) any later
+// version.
+//
+// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// This administrivia gets added to the beginning of limits.h
+// if the system has its own version of limits.h.
+
+// We use _GCC_LIMITS_H_ because we want this not to match
+// any macros that the system's limits.h uses for its own purposes.
+
+// Use "..." so that we find syslimits.h only in this same directory.
+// syslimits.h stands for the system's own limits.h file.
+// If we can use it ok unmodified, then we install this text.
+// If fixincludes fixes it, then the fixed version is installed
+// instead of this text.
+
+// *
+// 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.
+
+// File system limits
+//
+// NOTE: Apparently the actual size of PATH_MAX is 260, but a space is
+// required for the NUL. TODO: Test?
+// NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two
+// are semantically identical, with a limit of 259 characters for the
+// path name, plus one for a terminating NUL, for a total of 260.
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 3, or (at your option) any later
+// version.
+//
+// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+//
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+// Number of bits in a `char'.
+
+// Maximum length of a multibyte character.
+
+// Minimum and maximum values a `signed char' can hold.
+
+// Maximum value an `unsigned char' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `char' can hold.
+
+// Minimum and maximum values a `signed short int' can hold.
+
+// Maximum value an `unsigned short int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed int' can hold.
+
+// Maximum value an `unsigned int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed long int' can hold.
+// (Same as `int').
+
+// Maximum value an `unsigned long int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed long long int' can hold.
+
+// Maximum value an `unsigned long long int' can hold. (Minimum is 0).
+
+// Minimum and maximum values a `signed long long int' can hold.
+
+// Maximum value an `unsigned long long int' can hold. (Minimum is 0).
+
+// This administrivia gets added to the end of limits.h
+// if the system has its own version of limits.h.
+
+type X_onexit_t = uintptr /* stdlib.h:49:15 */
+
+type X_div_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:59:11 */
+
+type Div_t = X_div_t /* stdlib.h:62:5 */
+
+type X_ldiv_t = struct {
+ Fquot int32
+ Frem int32
+} /* stdlib.h:64:11 */
+
+type Ldiv_t = X_ldiv_t /* stdlib.h:67:5 */
+
+type X_LDOUBLE = struct{ Fld [10]uint8 } /* stdlib.h:76:5 */
+
+type X_CRT_DOUBLE = struct{ Fx float64 } /* stdlib.h:83:5 */
+
+type X_CRT_FLOAT = struct{ Ff float32 } /* stdlib.h:87:5 */
+
+type X_LONGDOUBLE = struct{ Fx float64 } /* stdlib.h:94:5 */
+
+type X_LDBL12 = struct{ Fld12 [12]uint8 } /* stdlib.h:101:5 */
+
+type X_purecall_handler = uintptr /* stdlib.h:142:16 */
+
+type X_invalid_parameter_handler = uintptr /* stdlib.h:147:16 */
+
+type Lldiv_t = struct {
+ Fquot int64
+ Frem int64
+} /* stdlib.h:699:61 */
+
+// *
+// 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.
+
+// Return codes for _heapwalk()
+
+// Values for _heapinfo.useflag
+
+// The structure used to walk through the heap with _heapwalk.
+type X_heapinfo = struct {
+ F_pentry uintptr
+ F_size Size_t
+ F_useflag int32
+ F__ccgo_pad1 [4]byte
+} /* malloc.h:46:11 */
+
+// *
+// 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.
+
+// Return codes for _heapwalk()
+
+// Values for _heapinfo.useflag
+
+// The structure used to walk through the heap with _heapwalk.
+type X_HEAPINFO = X_heapinfo /* malloc.h:50:5 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sync_linux_amd64.go b/vendor/modernc.org/libc/sync.go
index 834092a81..f4f91f6c7 100644
--- a/vendor/modernc.org/libc/sync_linux_amd64.go
+++ b/vendor/modernc.org/libc/sync.go
@@ -4,9 +4,14 @@
package libc // import "modernc.org/libc"
+import (
+ "sync/atomic"
+)
+
+var __sync_synchronize_dummy int32
+
// __sync_synchronize();
func X__sync_synchronize(t *TLS) {
- __sync_synchronize()
+ // Attempt to implement a full memory barrier without assembler.
+ atomic.StoreInt32(&__sync_synchronize_dummy, atomic.LoadInt32(&__sync_synchronize_dummy)+1)
}
-
-func __sync_synchronize()
diff --git a/vendor/modernc.org/libc/sync_linux_amd64.s b/vendor/modernc.org/libc/sync_linux_amd64.s
deleted file mode 100644
index de4924efe..000000000
--- a/vendor/modernc.org/libc/sync_linux_amd64.s
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2021 The Libc Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "textflag.h"
-
-TEXT ·__sync_synchronize(SB), NOSPLIT, $0
- MFENCE
- RET
diff --git a/vendor/modernc.org/libc/sys/socket/capi_darwin_amd64.go b/vendor/modernc.org/libc/sys/socket/capi_darwin_amd64.go
index f8510adab..b0f3be1d3 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_darwin_amd64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_darwin_amd64.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_darwin_arm64.go b/vendor/modernc.org/libc/sys/socket/capi_darwin_arm64.go
index 1bc994d59..ba45cfeba 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_darwin_arm64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_darwin_arm64.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_linux_386.go b/vendor/modernc.org/libc/sys/socket/capi_linux_386.go
index 0bf21fb3e..0911eab54 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_linux_386.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_386.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_386.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_linux_amd64.go b/vendor/modernc.org/libc/sys/socket/capi_linux_amd64.go
index 54a802f10..57ceee427 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_amd64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_amd64.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_linux_arm.go b/vendor/modernc.org/libc/sys/socket/capi_linux_arm.go
index ce1a6de64..34259749f 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_arm.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_arm.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_linux_arm64.go b/vendor/modernc.org/libc/sys/socket/capi_linux_arm64.go
index 171b288da..0464f8881 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_arm64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_arm64.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_linux_s390x.go b/vendor/modernc.org/libc/sys/socket/capi_linux_s390x.go
index a5f4520e2..5f53ef432 100644
--- a/vendor/modernc.org/libc/sys/socket/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/sys/socket/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_s390x.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_s390x.go -pkgname socket', DO NOT EDIT.
package socket
diff --git a/vendor/modernc.org/libc/sys/socket/capi_netbsd_amd64.go b/vendor/modernc.org/libc/sys/socket/capi_netbsd_amd64.go
new file mode 100644
index 000000000..d640c0640
--- /dev/null
+++ b/vendor/modernc.org/libc/sys/socket/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_netbsd_amd64.go -pkgname socket', DO NOT EDIT.
+
+package socket
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/sys/socket/socket_darwin_amd64.go b/vendor/modernc.org/libc/sys/socket/socket_darwin_amd64.go
index 0be1d54d0..9bb040859 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_darwin_amd64.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_darwin_amd64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_darwin_amd64.go -pkgname socket', DO NOT EDIT.
package socket
@@ -1009,8 +1009,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -4905,13 +4905,13 @@ type Sae_connid_t = X__uint32_t /* socket.h:293:20 */
// sockaddr endpoints
type Sa_endpoints = struct {
Fsae_srcif uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsae_srcaddr uintptr
Fsae_srcaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fsae_dstaddr uintptr
Fsae_dstaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:303:9 */
// connectx() flag parameters
@@ -4985,10 +4985,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -5020,12 +5020,12 @@ type Cmsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:678:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/socket/socket_darwin_arm64.go b/vendor/modernc.org/libc/sys/socket/socket_darwin_arm64.go
index 99576d57a..295cd3673 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_darwin_arm64.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_darwin_arm64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_darwin_arm64.go -pkgname socket', DO NOT EDIT.
package socket
@@ -3980,7 +3980,7 @@ type Errno_t = int32 /* _errno_t.h:30:32 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -4282,7 +4282,7 @@ type Fd_set1 = struct{ Ffds_bits [32]X__int32_t } /* _fd_def.h:50:9 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -5663,13 +5663,13 @@ type Sae_connid_t = X__uint32_t /* socket.h:293:20 */
// sockaddr endpoints
type Sa_endpoints = struct {
Fsae_srcif uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fsae_srcaddr uintptr
Fsae_srcaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fsae_dstaddr uintptr
Fsae_dstaddrlen Socklen_t
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:303:9 */
// connectx() flag parameters
@@ -5743,10 +5743,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -5778,12 +5778,12 @@ type Cmsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:687:1 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/socket/socket_freebsd_amd64.go b/vendor/modernc.org/libc/sys/socket/socket_freebsd_amd64.go
index d5a87e179..5085f727d 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_freebsd_amd64.go
@@ -823,8 +823,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -1020,10 +1020,10 @@ type Sockaddr_storage = struct {
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
@@ -1059,7 +1059,7 @@ type Cmsgcred = struct {
Fcmcred_euid Uid_t
Fcmcred_gid Gid_t
Fcmcred_ngroups int16
- _ [2]byte
+ F__ccgo_pad1 [2]byte
Fcmcred_groups [16]Gid_t
} /* socket.h:503:1 */
@@ -1114,13 +1114,13 @@ type Osockaddr = struct {
type Omsghdr = struct {
Fmsg_name uintptr
Fmsg_namelen int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_accrights uintptr
Fmsg_accrightslen int32
- _ [4]byte
+ F__ccgo_pad3 [4]byte
} /* socket.h:615:1 */
// howto arguments for shutdown(2), specified by Posix.1g.
@@ -1130,12 +1130,12 @@ type Omsghdr = struct {
// sendfile(2) header/trailer struct
type Sf_hdtr = struct {
- Fheaders uintptr
- Fhdr_cnt int32
- _ [4]byte
- Ftrailers uintptr
- Ftrl_cnt int32
- _ [4]byte
+ Fheaders uintptr
+ Fhdr_cnt int32
+ F__ccgo_pad1 [4]byte
+ Ftrailers uintptr
+ Ftrl_cnt int32
+ F__ccgo_pad2 [4]byte
} /* socket.h:644:1 */
// Sendfile-specific flag(s)
@@ -1145,10 +1145,10 @@ type Mmsghdr = struct {
Fmsg_hdr struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
- _ [4]byte
+ F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
diff --git a/vendor/modernc.org/libc/sys/socket/socket_linux_386.go b/vendor/modernc.org/libc/sys/socket/socket_linux_386.go
index 34ef0f062..999c4683e 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_linux_386.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_386.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_386.go -pkgname socket', DO NOT EDIT.
package socket
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -95,7 +96,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -118,11 +119,9 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
- SCM_TIMESTAMP = 29
- SCM_TIMESTAMPING = 37
+ PF_XDP = 44
SCM_TIMESTAMPING_OPT_STATS = 54
SCM_TIMESTAMPING_PKTINFO = 58
- SCM_TIMESTAMPNS = 35
SCM_TXTIME = 61
SCM_WIFI_STATUS = 41
SIOCATMARK = 0x8905
@@ -154,13 +153,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -170,6 +171,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -197,7 +199,8 @@ const (
SO_RCVBUF = 8
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
- SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -208,20 +211,28 @@ const (
SO_SNDBUF = 7
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
- SO_SNDTIMEO = 21
- SO_TIMESTAMP = 29
- SO_TIMESTAMPING = 37
- SO_TIMESTAMPNS = 35
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
+ X_ASM_X86_POSIX_TYPES_32_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -232,8 +243,11 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
+ X_LINUX_POSIX_TYPES_H = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -248,6 +262,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -257,7 +272,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -284,13 +299,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -305,7 +320,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -355,11 +370,6 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -368,7 +378,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -400,15 +410,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -443,18 +444,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -469,9 +465,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -503,15 +499,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -546,14 +533,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -568,11 +550,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,10 +569,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -605,11 +587,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -624,43 +606,63 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -672,7 +674,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -694,7 +696,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -709,7 +711,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -718,76 +720,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -824,7 +853,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -839,7 +868,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -847,7 +876,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -862,7 +891,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -870,7 +899,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -885,7 +914,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -893,7 +922,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -908,14 +937,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -947,15 +976,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -990,11 +1010,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1005,7 +1020,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1020,10 +1035,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1038,7 +1053,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1047,18 +1062,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1073,11 +1087,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1092,11 +1106,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1111,12 +1125,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1131,7 +1145,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1145,7 +1159,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1160,7 +1174,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1174,7 +1188,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1189,16 +1203,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1218,16 +1250,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1242,11 +1274,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1261,7 +1293,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1276,36 +1308,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1314,11 +1316,40 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1333,39 +1364,109 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1374,13 +1475,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1392,7 +1537,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1401,15 +1546,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1419,8 +1564,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1434,8 +1579,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1444,13 +1589,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -1469,7 +1614,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1484,7 +1629,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -1501,7 +1646,7 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
type Sockaddr = struct {
Fsa_family Sa_family_t
Fsa_data [14]int8
-} /* socket.h:175:1 */
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
@@ -1510,7 +1655,7 @@ type Sockaddr_storage = struct {
Fss_family Sa_family_t
F__ss_padding [122]int8
F__ss_align uint32
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
@@ -1522,21 +1667,115 @@ type Msghdr = struct {
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
-} /* socket.h:254:1 */
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint32
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint32
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [32]uint32 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_mode_t = uint16 /* posix_types_32.h:11:24 */
+
+type X__kernel_ipc_pid_t = uint16 /* posix_types_32.h:14:24 */
+
+type X__kernel_uid_t = uint16 /* posix_types_32.h:17:24 */
+type X__kernel_gid_t = uint16 /* posix_types_32.h:18:24 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types_32.h:21:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int32 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint32 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = uint32 /* posix_types.h:68:22 */
+type X__kernel_ssize_t = int32 /* posix_types.h:69:14 */
+type X__kernel_ptrdiff_t = int32 /* posix_types.h:70:14 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// Socket-level I/O control calls.
@@ -1553,7 +1792,7 @@ type Cmsghdr = struct {
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
diff --git a/vendor/modernc.org/libc/sys/socket/socket_linux_amd64.go b/vendor/modernc.org/libc/sys/socket/socket_linux_amd64.go
index 42a0fc5a7..eef52f844 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_linux_amd64.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_amd64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_amd64.go -pkgname socket', DO NOT EDIT.
package socket
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -95,7 +96,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -118,6 +119,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -154,13 +156,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -170,6 +174,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -198,6 +203,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -209,19 +216,31 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
+ X_ASM_X86_POSIX_TYPES_64_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -232,9 +251,11 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -249,6 +270,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -257,7 +279,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -284,13 +306,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -305,7 +327,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -364,11 +386,6 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -377,7 +394,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -409,15 +426,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -452,18 +460,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -478,9 +481,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -512,15 +515,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -555,14 +549,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -577,11 +566,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -596,10 +585,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -614,11 +603,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -633,45 +622,64 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -683,7 +691,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -704,7 +712,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -719,7 +727,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -734,78 +742,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -842,7 +878,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -857,7 +893,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -865,7 +901,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -880,7 +916,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -888,7 +924,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -903,7 +939,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -911,7 +947,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -926,14 +962,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -965,15 +1001,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1008,11 +1035,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1023,7 +1045,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1038,10 +1060,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1056,7 +1078,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1065,18 +1087,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1091,11 +1112,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1110,11 +1131,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1129,12 +1150,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1149,7 +1170,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1165,7 +1186,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1180,7 +1201,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1194,7 +1215,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1209,16 +1230,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1238,16 +1277,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1262,11 +1301,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1281,7 +1320,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1296,36 +1335,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1334,11 +1343,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1353,42 +1359,141 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1399,7 +1504,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1411,7 +1562,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1420,15 +1571,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1438,8 +1589,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1453,8 +1604,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1463,13 +1614,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -1488,7 +1639,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1503,7 +1654,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -1520,7 +1671,7 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
type Sockaddr = struct {
Fsa_family Sa_family_t
Fsa_data [14]int8
-} /* socket.h:175:1 */
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
@@ -1529,37 +1680,131 @@ type Sockaddr_storage = struct {
Fss_family Sa_family_t
F__ss_padding [118]int8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_old_uid_t = uint16 /* posix_types_64.h:11:24 */
+type X__kernel_old_gid_t = uint16 /* posix_types_64.h:12:24 */
+
+type X__kernel_old_dev_t = uint64 /* posix_types_64.h:15:23 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_mode_t = uint32 /* posix_types.h:24:22 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:32:14 */
+
+type X__kernel_uid_t = uint32 /* posix_types.h:36:22 */
+type X__kernel_gid_t = uint32 /* posix_types.h:37:22 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = X__kernel_ulong_t /* posix_types.h:72:26 */
+type X__kernel_ssize_t = X__kernel_long_t /* posix_types.h:73:25 */
+type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -1570,11 +1815,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
diff --git a/vendor/modernc.org/libc/sys/socket/socket_linux_arm.go b/vendor/modernc.org/libc/sys/socket/socket_linux_arm.go
index 2c9413e62..97233cfca 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_linux_arm.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_arm.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_arm.go -pkgname socket', DO NOT EDIT.
package socket
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -95,7 +96,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -118,11 +119,9 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
- SCM_TIMESTAMP = 29
- SCM_TIMESTAMPING = 37
+ PF_XDP = 44
SCM_TIMESTAMPING_OPT_STATS = 54
SCM_TIMESTAMPING_PKTINFO = 58
- SCM_TIMESTAMPNS = 35
SCM_TXTIME = 61
SCM_WIFI_STATUS = 41
SIOCATMARK = 0x8905
@@ -154,13 +153,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -170,6 +171,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -197,7 +199,8 @@ const (
SO_RCVBUF = 8
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
- SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -208,20 +211,27 @@ const (
SO_SNDBUF = 7
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
- SO_SNDTIMEO = 21
- SO_TIMESTAMP = 29
- SO_TIMESTAMPING = 37
- SO_TIMESTAMPNS = 35
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -232,6 +242,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
@@ -248,6 +259,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -256,7 +268,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -283,13 +295,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -304,7 +316,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -354,11 +366,6 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -367,7 +374,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -399,15 +406,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -442,18 +440,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -468,9 +461,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -502,15 +495,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -545,14 +529,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -567,11 +546,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -586,10 +565,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -604,11 +583,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -623,9 +602,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -640,41 +619,78 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -686,7 +702,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -708,7 +724,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -723,83 +739,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -836,7 +879,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -851,7 +894,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -859,7 +902,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -874,7 +917,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -882,7 +925,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -897,7 +940,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -905,7 +948,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -920,14 +963,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -959,15 +1002,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1002,11 +1036,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1017,7 +1046,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1032,10 +1061,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1050,7 +1079,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1059,18 +1088,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1085,11 +1113,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1104,11 +1132,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1123,12 +1151,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1143,7 +1171,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1158,7 +1186,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1173,7 +1201,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1187,7 +1215,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1202,16 +1230,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1231,16 +1277,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1255,11 +1301,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1274,7 +1320,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1289,35 +1335,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
@@ -1327,11 +1448,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1345,10 +1565,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1365,7 +1586,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
type X__pthread_rwlock_arch_t = struct {
F__readers uint32
@@ -1379,27 +1603,7 @@ type X__pthread_rwlock_arch_t = struct {
F__pad1 uint8
F__pad2 uint8
F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
-
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
-
-type X__pthread_mutex_s = struct {
- F__lock int32
- F__count uint32
- F__owner int32
- F__kind int32
- F__nusers uint32
- F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -1411,7 +1615,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1420,15 +1624,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1438,8 +1642,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1453,8 +1657,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1463,13 +1667,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -1488,7 +1692,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1503,7 +1707,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -1519,17 +1723,17 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [122]int8
+ F__ss_padding [122]uint8
F__ss_align uint32
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
@@ -1541,21 +1745,122 @@ type Msghdr = struct {
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
-} /* socket.h:254:1 */
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint32
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint32
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [32]uint32 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// arch/arm/include/asm/posix_types.h
+//
+// Copyright (C) 1996-1998 Russell King.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+// Changelog:
+// 27-06-1996 RMK Created
-// Ugly workaround for unclean kernel headers.
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_mode_t = uint16 /* posix_types.h:23:25 */
+
+type X__kernel_ipc_pid_t = uint16 /* posix_types.h:26:25 */
+
+type X__kernel_uid_t = uint16 /* posix_types.h:29:25 */
+type X__kernel_gid_t = uint16 /* posix_types.h:30:25 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types.h:33:25 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int32 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint32 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = uint32 /* posix_types.h:68:22 */
+type X__kernel_ssize_t = int32 /* posix_types.h:69:14 */
+type X__kernel_ptrdiff_t = int32 /* posix_types.h:70:14 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// Socket-level I/O control calls.
@@ -1572,7 +1877,7 @@ type Cmsghdr = struct {
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -1583,4 +1888,4 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/socket/socket_linux_arm64.go b/vendor/modernc.org/libc/sys/socket/socket_linux_arm64.go
index 073e862da..b9f96dbfe 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_linux_arm64.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_arm64.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_arm64.go -pkgname socket', DO NOT EDIT.
package socket
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 1234
FD_SETSIZE = 1024
@@ -95,7 +96,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -118,6 +119,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -154,13 +156,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -170,6 +174,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -198,6 +203,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -209,19 +216,30 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -232,9 +250,11 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -249,6 +269,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -257,7 +278,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -284,13 +305,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -305,7 +326,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -364,11 +385,6 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -377,7 +393,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -409,15 +425,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -452,18 +459,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -478,9 +480,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -512,15 +514,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -555,14 +548,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -577,11 +565,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -596,10 +584,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -614,11 +602,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -633,11 +621,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -652,41 +640,80 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -698,7 +725,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -719,7 +746,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -735,7 +762,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -748,78 +775,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -856,7 +910,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -871,7 +925,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -879,7 +933,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -894,7 +948,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -902,7 +956,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -917,7 +971,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -925,7 +979,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -940,14 +994,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -979,15 +1033,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1022,11 +1067,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1037,7 +1077,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1052,10 +1092,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1070,7 +1110,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1079,18 +1119,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1105,11 +1144,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1124,11 +1163,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1143,12 +1182,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1163,7 +1202,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1178,7 +1217,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1193,7 +1232,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1207,7 +1246,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1222,16 +1261,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1251,16 +1308,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1275,11 +1332,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1294,7 +1351,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1309,36 +1366,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1347,11 +1374,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1367,9 +1391,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1386,36 +1411,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1425,7 +1569,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1437,7 +1626,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1446,15 +1635,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1464,15 +1653,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -1482,8 +1671,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1492,13 +1681,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -1517,7 +1706,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1532,7 +1721,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -1548,47 +1737,149 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+type X__kernel_old_uid_t = uint16 /* posix_types.h:5:24 */
+type X__kernel_old_gid_t = uint16 /* posix_types.h:6:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+// Copyright (C) 2012 ARM Ltd.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_ino_t = X__kernel_ulong_t /* posix_types.h:20:26 */
+
+type X__kernel_mode_t = uint32 /* posix_types.h:24:22 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:32:14 */
+
+type X__kernel_uid_t = uint32 /* posix_types.h:36:22 */
+type X__kernel_gid_t = uint32 /* posix_types.h:37:22 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_dev_t = uint32 /* posix_types.h:59:22 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+type X__kernel_size_t = X__kernel_ulong_t /* posix_types.h:72:26 */
+type X__kernel_ssize_t = X__kernel_long_t /* posix_types.h:73:25 */
+type X__kernel_ptrdiff_t = X__kernel_long_t /* posix_types.h:74:25 */
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
// Socket-level I/O control calls.
// For setsockopt(2)
@@ -1599,11 +1890,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -1614,4 +1907,4 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/socket/socket_linux_s390x.go b/vendor/modernc.org/libc/sys/socket/socket_linux_s390x.go
index 7ef697378..42056c4d2 100644
--- a/vendor/modernc.org/libc/sys/socket/socket_linux_s390x.go
+++ b/vendor/modernc.org/libc/sys/socket/socket_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/socket/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_linux_s390x.go -pkgname socket', DO NOT EDIT.
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_linux_s390x.go -pkgname socket', DO NOT EDIT.
package socket
@@ -40,7 +40,7 @@ const (
AF_KEY = 15
AF_LLC = 26
AF_LOCAL = 1
- AF_MAX = 44
+ AF_MAX = 45
AF_MPLS = 28
AF_NETBEUI = 13
AF_NETLINK = 16
@@ -63,6 +63,7 @@ const (
AF_VSOCK = 40
AF_WANPIPE = 25
AF_X25 = 9
+ AF_XDP = 44
BIG_ENDIAN = 4321
BYTE_ORDER = 4321
FD_SETSIZE = 1024
@@ -95,7 +96,7 @@ const (
PF_KEY = 15
PF_LLC = 26
PF_LOCAL = 1
- PF_MAX = 44
+ PF_MAX = 45
PF_MPLS = 28
PF_NETBEUI = 13
PF_NETLINK = 16
@@ -118,6 +119,7 @@ const (
PF_VSOCK = 40
PF_WANPIPE = 25
PF_X25 = 9
+ PF_XDP = 44
SCM_TIMESTAMP = 29
SCM_TIMESTAMPING = 37
SCM_TIMESTAMPING_OPT_STATS = 54
@@ -154,13 +156,15 @@ const (
SOL_TIPC = 271
SOL_TLS = 282
SOL_X25 = 262
- SOMAXCONN = 128
+ SOL_XDP = 283
+ SOMAXCONN = 4096
SO_ACCEPTCONN = 30
SO_ATTACH_BPF = 50
SO_ATTACH_FILTER = 26
SO_ATTACH_REUSEPORT_CBPF = 51
SO_ATTACH_REUSEPORT_EBPF = 52
SO_BINDTODEVICE = 25
+ SO_BINDTOIFINDEX = 62
SO_BPF_EXTENSIONS = 48
SO_BROADCAST = 6
SO_BSDCOMPAT = 14
@@ -170,6 +174,7 @@ const (
SO_DEBUG = 1
SO_DETACH_BPF = 27
SO_DETACH_FILTER = 27
+ SO_DETACH_REUSEPORT_BPF = 68
SO_DOMAIN = 39
SO_DONTROUTE = 5
SO_ERROR = 4
@@ -198,6 +203,8 @@ const (
SO_RCVBUFFORCE = 33
SO_RCVLOWAT = 18
SO_RCVTIMEO = 20
+ SO_RCVTIMEO_NEW = 66
+ SO_RCVTIMEO_OLD = 20
SO_REUSEADDR = 2
SO_REUSEPORT = 15
SO_RXQ_OVFL = 40
@@ -209,20 +216,30 @@ const (
SO_SNDBUFFORCE = 32
SO_SNDLOWAT = 19
SO_SNDTIMEO = 21
+ SO_SNDTIMEO_NEW = 67
+ SO_SNDTIMEO_OLD = 21
SO_TIMESTAMP = 29
SO_TIMESTAMPING = 37
+ SO_TIMESTAMPING_NEW = 65
+ SO_TIMESTAMPING_OLD = 37
SO_TIMESTAMPNS = 35
+ SO_TIMESTAMPNS_NEW = 64
+ SO_TIMESTAMPNS_OLD = 35
+ SO_TIMESTAMP_NEW = 63
+ SO_TIMESTAMP_OLD = 29
SO_TXTIME = 61
SO_TYPE = 3
SO_WIFI_STATUS = 41
SO_ZEROCOPY = 60
- X_ASM_SOCKET_H = 0
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_SOCKADDR_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -233,9 +250,11 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_LINUX_POSIX_TYPES_H = 0
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -250,6 +269,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_SOCKET_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -258,7 +278,7 @@ const (
)
// Bits in the FLAGS argument to `send', `recv', et al.
-const ( /* socket.h:197:1: */
+const ( /* socket.h:200:1: */
MSG_OOB = 1 // Process out-of-band data.
MSG_PEEK = 2 // Peek at incoming messages.
MSG_DONTROUTE = 4 // Don't use local routing.
@@ -285,13 +305,13 @@ const ( /* socket.h:197:1: */
// Socket level message types. This must match the definitions in
// <linux/socket.h>.
-const ( /* socket.h:329:1: */
+const ( /* socket.h:332:1: */
SCM_RIGHTS = 1
)
// Get the architecture-dependent definition of enum __socket_type.
// Define enum __socket_type for generic Linux.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -306,7 +326,7 @@ const ( /* socket.h:329:1: */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Types of sockets.
const ( /* socket_type.h:24:1: */
@@ -365,11 +385,6 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Structure for scatter/gather I/O.
@@ -378,7 +393,7 @@ type Iovec = struct {
Fiov_len Size_t
} /* struct_iovec.h:26:1 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -410,15 +425,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -453,18 +459,13 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This operating system-specific header file defines the SOCK_*, PF_*,
// AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr',
// `struct msghdr', and `struct linger' types.
// System-specific socket constants and types. Linux version.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -479,9 +480,9 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -513,15 +514,6 @@ type Iovec = struct {
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -556,14 +548,9 @@ type Iovec = struct {
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -578,11 +565,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -597,10 +584,10 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -615,11 +602,11 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -634,43 +621,65 @@ type Iovec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -682,7 +691,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -703,7 +712,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -718,7 +727,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -733,78 +742,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -841,7 +878,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -856,7 +893,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -864,7 +901,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -879,7 +916,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -887,7 +924,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -902,7 +939,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -910,7 +947,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -925,14 +962,14 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -964,15 +1001,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1007,11 +1035,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -1022,7 +1045,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1037,10 +1060,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1055,7 +1078,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1064,18 +1087,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1090,11 +1112,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1109,11 +1131,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1128,12 +1150,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1148,7 +1170,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1163,7 +1185,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1178,7 +1200,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1192,7 +1214,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1207,16 +1229,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1236,16 +1276,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1260,11 +1300,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1279,7 +1319,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1294,36 +1334,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1332,11 +1342,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1355,35 +1364,135 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1394,7 +1503,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1406,7 +1560,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1415,15 +1569,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1433,8 +1587,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1448,8 +1602,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1458,13 +1612,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
// Type for length arguments in socket calls.
@@ -1483,7 +1637,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
// Get the definition of the macro to define the common sockaddr members.
// Definition of struct sockaddr_* common members and sizes, generic version.
-// Copyright (C) 1995-2018 Free Software Foundation, Inc.
+// Copyright (C) 1995-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1498,7 +1652,7 @@ type Socklen_t = X__socklen_t /* socket.h:33:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/socket.h> instead.
@@ -1514,47 +1668,138 @@ type Sa_family_t = uint16 /* sockaddr.h:28:28 */
// Structure describing a generic socket address.
type Sockaddr = struct {
Fsa_family Sa_family_t
- Fsa_data [14]int8
-} /* socket.h:175:1 */
+ Fsa_data [14]uint8
+} /* socket.h:178:1 */
// Structure large enough to hold any socket address (with the historical
// exception of AF_UNIX).
type Sockaddr_storage = struct {
Fss_family Sa_family_t
- F__ss_padding [118]int8
+ F__ss_padding [118]uint8
F__ss_align uint64
-} /* socket.h:188:1 */
+} /* socket.h:191:1 */
// Structure describing messages sent by
// `sendmsg' and received by `recvmsg'.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen Size_t
Fmsg_control uintptr
Fmsg_controllen Size_t
Fmsg_flags int32
- _ [4]byte
-} /* socket.h:254:1 */
+ F__ccgo_pad2 [4]byte
+} /* socket.h:257:1 */
// Structure used for storage of ancillary data object information.
type Cmsghdr = struct {
- _ [0]uint64
- Fcmsg_len Size_t
- Fcmsg_level int32
- Fcmsg_type int32
-} /* socket.h:272:1 */
+ F__ccgo_pad1 [0]uint64
+ Fcmsg_len Size_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:275:1 */
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
-// Ugly workaround for unclean kernel headers.
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// This allows for 1024 file descriptors: if NR_OPEN is ever grown
+// beyond that you'll have to change this too. But 1024 fd's seem to be
+// enough even for such "real" unices like OSF/1, so hopefully this is
+// one limit that doesn't have to be changed [again].
+//
+// Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+// <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+// place for them. Solved by having dummy defines in <sys/time.h>.
+
+// This macro may have been defined in <gnu/types.h>. But we always
+// use the one here.
+
+type X__kernel_fd_set = struct{ Ffds_bits [16]uint64 } /* posix_types.h:27:3 */
+
+// Type of a signal handler.
+type X__kernel_sighandler_t = uintptr /* posix_types.h:30:14 */
+
+// Type of a SYSV IPC key.
+type X__kernel_key_t = int32 /* posix_types.h:33:13 */
+type X__kernel_mqd_t = int32 /* posix_types.h:34:13 */
-// Get socket manipulation related informations from kernel headers.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// S390 version
//
-// Derived from "include/asm-i386/socket.h"
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc. Also, we cannot
+// assume GCC is being used.
+
+type X__kernel_size_t = uint64 /* posix_types.h:16:25 */
+type X__kernel_ssize_t = int64 /* posix_types.h:17:25 */
+
+type X__kernel_old_dev_t = uint16 /* posix_types.h:20:24 */
+
+type X__kernel_ino_t = uint32 /* posix_types.h:35:25 */
+type X__kernel_mode_t = uint32 /* posix_types.h:36:25 */
+type X__kernel_ipc_pid_t = int32 /* posix_types.h:37:25 */
+type X__kernel_uid_t = uint32 /* posix_types.h:38:25 */
+type X__kernel_gid_t = uint32 /* posix_types.h:39:25 */
+type X__kernel_ptrdiff_t = int64 /* posix_types.h:40:25 */
+type X__kernel_sigset_t = uint64 /* posix_types.h:41:25 */ // at least 32 bits
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
+
+// There seems to be no way of detecting this automatically from user
+// space, so 64 bit architectures should override this in their
+// bitsperlong.h. In particular, an architecture that supports
+// both 32 and 64 bit user space must not rely on CONFIG_64BIT
+// to decide it, but rather check a compiler provided macro.
+
+// This file is generally used by user-level software, so you need to
+// be a little careful about namespace pollution etc.
+//
+// First the types that are often defined in different ways across
+// architectures, so that you can override them.
+
+type X__kernel_long_t = int64 /* posix_types.h:15:15 */
+type X__kernel_ulong_t = uint64 /* posix_types.h:16:23 */
+
+type X__kernel_pid_t = int32 /* posix_types.h:28:14 */
+
+type X__kernel_suseconds_t = X__kernel_long_t /* posix_types.h:41:26 */
+
+type X__kernel_daddr_t = int32 /* posix_types.h:45:14 */
+
+type X__kernel_uid32_t = uint32 /* posix_types.h:49:22 */
+type X__kernel_gid32_t = uint32 /* posix_types.h:50:22 */
+
+type X__kernel_old_uid_t = X__kernel_uid_t /* posix_types.h:54:24 */
+type X__kernel_old_gid_t = X__kernel_gid_t /* posix_types.h:55:24 */
+
+// Most 32 bit architectures use "unsigned int" size_t,
+// and all 64 bit architectures use "unsigned long" size_t.
+
+type X__kernel_fsid_t = struct{ Fval [2]int32 } /* posix_types.h:81:3 */
+
+// anything below here should be completely generic
+type X__kernel_off_t = X__kernel_long_t /* posix_types.h:87:25 */
+type X__kernel_loff_t = int64 /* posix_types.h:88:19 */
+type X__kernel_old_time_t = X__kernel_long_t /* posix_types.h:89:25 */
+type X__kernel_time_t = X__kernel_long_t /* posix_types.h:90:25 */
+type X__kernel_time64_t = int64 /* posix_types.h:91:19 */
+type X__kernel_clock_t = X__kernel_long_t /* posix_types.h:92:25 */
+type X__kernel_timer_t = int32 /* posix_types.h:93:14 */
+type X__kernel_clockid_t = int32 /* posix_types.h:94:14 */
+type X__kernel_caddr_t = uintptr /* posix_types.h:95:14 */
+type X__kernel_uid16_t = uint16 /* posix_types.h:96:24 */
+type X__kernel_gid16_t = uint16 /* posix_types.h:97:24 */
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
@@ -1568,11 +1813,13 @@ type Cmsghdr = struct {
// Instruct lower device to use last 4-bytes of skb data as FCS
+// on 64-bit and x32, avoid the ?: operator
+
// Structure used to manipulate the SO_LINGER option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
-} /* socket.h:444:1 */
+} /* socket.h:361:1 */
// This is the 4.3 BSD `struct sockaddr' format, which is used as wire
// format in the grotty old 4.3 `talk' protocol.
@@ -1583,4 +1830,4 @@ type Osockaddr = struct {
// Define some macros helping to catch buffer overflows.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/socket/socket_netbsd_amd64.go b/vendor/modernc.org/libc/sys/socket/socket_netbsd_amd64.go
new file mode 100644
index 000000000..15c0a0f41
--- /dev/null
+++ b/vendor/modernc.org/libc/sys/socket/socket_netbsd_amd64.go
@@ -0,0 +1,863 @@
+// Code generated by 'ccgo sys/socket/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 sys/socket/socket_netbsd_amd64.go -pkgname socket', DO NOT EDIT.
+
+package socket
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ AF_APPLETALK = 16
+ AF_ARP = 28
+ AF_BLUETOOTH = 31
+ AF_CAN = 35
+ AF_CCITT = 10
+ AF_CHAOS = 5
+ AF_CNT = 21
+ AF_COIP = 20
+ AF_DATAKIT = 9
+ AF_DECnet = 12
+ AF_DLI = 13
+ AF_E164 = 26
+ AF_ECMA = 8
+ AF_ETHER = 36
+ AF_HYLINK = 15
+ AF_IEEE80211 = 32
+ AF_IMPLINK = 3
+ AF_INET = 2
+ AF_INET6 = 24
+ AF_IPX = 23
+ AF_ISDN = 26
+ AF_ISO = 7
+ AF_LAT = 14
+ AF_LINK = 18
+ AF_LOCAL = 1
+ AF_MAX = 37
+ AF_MPLS = 33
+ AF_NATM = 27
+ AF_NS = 6
+ AF_OROUTE = 17
+ AF_OSI = 7
+ AF_PUP = 4
+ AF_ROUTE = 34
+ AF_SNA = 11
+ AF_UNIX = 1
+ AF_UNSPEC = 0
+ MSG_BCAST = 0x0100
+ MSG_CMSG_CLOEXEC = 0x0800
+ MSG_CONTROLMBUF = 0x2000000
+ MSG_CTRUNC = 0x0020
+ MSG_DONTROUTE = 0x0004
+ MSG_DONTWAIT = 0x0080
+ MSG_EOR = 0x0008
+ MSG_IOVUSRSPACE = 0x4000000
+ MSG_LENUSRSPACE = 0x8000000
+ MSG_MCAST = 0x0200
+ MSG_NAMEMBUF = 0x1000000
+ MSG_NBIO = 0x1000
+ MSG_NOSIGNAL = 0x0400
+ MSG_NOTIFICATION = 0x4000
+ MSG_OOB = 0x0001
+ MSG_PEEK = 0x0002
+ MSG_TRUNC = 0x0010
+ MSG_USERFLAGS = 0x0ffffff
+ MSG_WAITALL = 0x0040
+ MSG_WAITFORONE = 0x2000
+ NET_RT_DUMP = 1
+ NET_RT_FLAGS = 2
+ NET_RT_IFLIST = 6
+ NET_RT_OIFLIST = 5
+ NET_RT_OOIFLIST = 4
+ NET_RT_OOOIFLIST = 3
+ PCB_ALL = 0
+ PCB_SLOP = 20
+ PF_APPLETALK = 16
+ PF_ARP = 28
+ PF_BLUETOOTH = 31
+ PF_CAN = 35
+ PF_CCITT = 10
+ PF_CHAOS = 5
+ PF_CNT = 21
+ PF_COIP = 20
+ PF_DATAKIT = 9
+ PF_DECnet = 12
+ PF_DLI = 13
+ PF_E164 = 26
+ PF_ECMA = 8
+ PF_ETHER = 36
+ PF_HYLINK = 15
+ PF_IMPLINK = 3
+ PF_INET = 2
+ PF_INET6 = 24
+ PF_IPX = 23
+ PF_ISDN = 26
+ PF_ISO = 7
+ PF_KEY = 29
+ PF_LAT = 14
+ PF_LINK = 18
+ PF_LOCAL = 1
+ PF_MAX = 37
+ PF_MPLS = 33
+ PF_NATM = 27
+ PF_NS = 6
+ PF_OROUTE = 17
+ PF_OSI = 7
+ PF_PIP = 25
+ PF_PUP = 4
+ PF_ROUTE = 34
+ PF_RTIP = 22
+ PF_SNA = 11
+ PF_UNIX = 1
+ PF_UNSPEC = 0
+ PF_XTP = 19
+ SCM_CREDS = 0x10
+ SCM_RIGHTS = 0x01
+ SCM_TIMESTAMP = 0x08
+ SHUT_RD = 0
+ SHUT_RDWR = 2
+ SHUT_WR = 1
+ SOCK_CLOEXEC = 0x10000000
+ SOCK_CONN_DGRAM = 6
+ SOCK_DCCP = 6
+ SOCK_DGRAM = 2
+ SOCK_FLAGS_MASK = 0xf0000000
+ SOCK_NONBLOCK = 0x20000000
+ SOCK_NOSIGPIPE = 0x40000000
+ SOCK_RAW = 3
+ SOCK_RDM = 4
+ SOCK_SEQPACKET = 5
+ SOCK_STREAM = 1
+ SOL_SOCKET = 0xffff
+ SOMAXCONN = 128
+ SO_ACCEPTCONN = 0x0002
+ SO_ACCEPTFILTER = 0x1000
+ SO_BROADCAST = 0x0020
+ SO_DEBUG = 0x0001
+ SO_DEFOPTS = 27645
+ SO_DONTROUTE = 0x0010
+ SO_ERROR = 0x1007
+ SO_KEEPALIVE = 0x0008
+ SO_LINGER = 0x0080
+ SO_NOHEADER = 0x100a
+ SO_NOSIGPIPE = 0x0800
+ SO_OOBINLINE = 0x0100
+ SO_OVERFLOWED = 0x1009
+ SO_RCVBUF = 0x1002
+ SO_RCVLOWAT = 0x1004
+ SO_RCVTIMEO = 0x100c
+ SO_RERROR = 0x4000
+ SO_REUSEADDR = 0x0004
+ SO_REUSEPORT = 0x0200
+ SO_SNDBUF = 0x1001
+ SO_SNDLOWAT = 0x1003
+ SO_SNDTIMEO = 0x100b
+ SO_TIMESTAMP = 0x2000
+ SO_TYPE = 0x1008
+ SO_USELOOPBACK = 0x0040
+ UIO_MAXIOV = 1024
+ X_AMD64_INT_TYPES_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_SS_MAXSIZE = 128
+ X_SYS_ANSI_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_SOCKET_H_ = 0
+ X_SYS_UIO_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ Pseudo_AF_HDRCMPLT = 30
+ Pseudo_AF_KEY = 29
+ Pseudo_AF_PIP = 25
+ Pseudo_AF_RTIP = 22
+ Pseudo_AF_XTP = 19
+)
+
+// file offset
+
+const ( /* uio.h:69:1: */
+ UIO_READ = 0
+ UIO_WRITE = 1
+)
+
+// Segment flag values.
+const ( /* uio.h:72:1: */
+ UIO_USERSPACE = 0 // from user data space
+ UIO_SYSSPACE = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Sa_family_t = X__sa_family_t /* socket.h:78:23 */
+
+type Socklen_t = X__socklen_t /* socket.h:83:21 */
+
+type Ssize_t = int64 /* socket.h:95:23 */
+
+// $NetBSD: uio.h,v 1.36 2011/07/27 13:20:07 uebayasi Exp $
+
+// Copyright (c) 1982, 1986, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)uio.h 8.5 (Berkeley) 2/22/94
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+type Iovec = struct {
+ Fiov_base uintptr
+ Fiov_len Size_t
+} /* uio.h:56:1 */
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Off_t = X__off_t /* uio.h:65:18 */
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+
+// Socket types.
+
+// Option flags per-socket.
+// SO_OTIMESTAMP 0x0400
+
+// Allowed default option flags
+
+// Additional options, not kept in so_options.
+// SO_OSNDTIMEO 0x1005
+// SO_ORCVTIMEO 0x1006
+
+// Structure used for manipulating linger option.
+type Linger = struct {
+ Fl_onoff int32
+ Fl_linger int32
+} /* socket.h:182:1 */
+
+type Accept_filter_arg = struct {
+ Faf_name [16]int8
+ Faf_arg [240]int8
+} /* socket.h:187:1 */
+
+// Level number for (get/set)sockopt() to apply to socket itself.
+
+// Address families.
+
+// Structure used by kernel to store most
+// addresses.
+type Sockaddr = struct {
+ Fsa_len X__uint8_t
+ Fsa_family X__sa_family_t
+ Fsa_data [14]int8
+} /* socket.h:255:1 */
+
+// RFC 2553: protocol-independent placeholder for socket addresses
+
+type Sockaddr_storage = struct {
+ Fss_len X__uint8_t
+ Fss_family X__sa_family_t
+ F__ss_pad1 [6]int8
+ F__ss_align X__int64_t
+ F__ss_pad2 [112]int8
+} /* socket.h:301:1 */
+
+// Protocol families, same as address families for now.
+
+type Pid_t = X__pid_t /* socket.h:366:18 */ // process id
+
+type Gid_t = X__gid_t /* socket.h:371:18 */ // group id
+
+type Uid_t = X__uid_t /* socket.h:376:18 */ // user id
+
+// Socket credentials.
+type Sockcred = struct {
+ Fsc_pid X__pid_t
+ Fsc_uid X__uid_t
+ Fsc_euid X__uid_t
+ Fsc_gid X__gid_t
+ Fsc_egid X__gid_t
+ Fsc_ngroups int32
+ Fsc_groups [1]X__gid_t
+} /* socket.h:383:1 */
+
+// Compute size of a sockcred structure with groups.
+
+// Definition for CTL_NET PCB fetching sysctls
+type Kinfo_pcb = struct {
+ Fki_pcbaddr X__uint64_t
+ Fki_ppcbaddr X__uint64_t
+ Fki_sockaddr X__uint64_t
+ Fki_family X__uint32_t
+ Fki_type X__uint32_t
+ Fki_protocol X__uint32_t
+ Fki_pflags X__uint32_t
+ Fki_sostate X__uint32_t
+ Fki_prstate X__uint32_t
+ Fki_tstate X__int32_t
+ Fki_tflags X__uint32_t
+ Fki_rcvq X__uint64_t
+ Fki_sndq X__uint64_t
+ Fki_s struct {
+ F_kis_src struct {
+ Fsa_len X__uint8_t
+ Fsa_family X__sa_family_t
+ Fsa_data [14]int8
+ }
+ F__ccgo_pad1 [248]byte
+ }
+ Fki_d struct {
+ F_kid_dst struct {
+ Fsa_len X__uint8_t
+ Fsa_family X__sa_family_t
+ Fsa_data [14]int8
+ }
+ F__ccgo_pad1 [248]byte
+ }
+ Fki_inode X__uint64_t
+ Fki_vnode X__uint64_t
+ Fki_conn X__uint64_t
+ Fki_refs X__uint64_t
+ Fki_nextref X__uint64_t
+} /* socket.h:404:1 */
+
+// PF_ROUTE - Routing table
+//
+// Three additional levels are defined:
+// Fourth: address family, 0 is wildcard
+// Fifth: type of info, defined below
+// Sixth: flag(s) to mask with for NET_RT_FLAGS
+
+// Maximum queue length specifiable by listen(2).
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Message header for recvmsg and sendmsg calls.
+// Used value-result for recvmsg, value only for sendmsg.
+type Msghdr = struct {
+ Fmsg_name uintptr
+ Fmsg_namelen X__socklen_t
+ F__ccgo_pad1 [4]byte
+ Fmsg_iov uintptr
+ Fmsg_iovlen int32
+ F__ccgo_pad2 [4]byte
+ Fmsg_control uintptr
+ Fmsg_controllen X__socklen_t
+ Fmsg_flags int32
+} /* socket.h:479:1 */
+
+type Mmsghdr = struct {
+ Fmsg_hdr struct {
+ Fmsg_name uintptr
+ Fmsg_namelen X__socklen_t
+ F__ccgo_pad1 [4]byte
+ Fmsg_iov uintptr
+ Fmsg_iovlen int32
+ F__ccgo_pad2 [4]byte
+ Fmsg_control uintptr
+ Fmsg_controllen X__socklen_t
+ Fmsg_flags int32
+ }
+ Fmsg_len uint32
+ F__ccgo_pad1 [4]byte
+} /* socket.h:506:1 */
+
+// Extra flags used internally only
+
+// Header for ancillary data objects in msg_control buffer.
+// Used for additional information with/about a datagram
+// not expressible by flags. The format is a sequence
+// of message elements headed by cmsghdr structures.
+type Cmsghdr = struct {
+ Fcmsg_len X__socklen_t
+ Fcmsg_level int32
+ Fcmsg_type int32
+} /* socket.h:525:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/stat/capi_darwin_amd64.go b/vendor/modernc.org/libc/sys/stat/capi_darwin_amd64.go
index 3b5af84e7..fdd8a9584 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_darwin_amd64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_darwin_amd64.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_darwin_arm64.go b/vendor/modernc.org/libc/sys/stat/capi_darwin_arm64.go
index b24417acf..827c5c421 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_darwin_arm64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_darwin_arm64.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_linux_386.go b/vendor/modernc.org/libc/sys/stat/capi_linux_386.go
index 2ce23f748..56b0ecca9 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_linux_386.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_386.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_386.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_linux_amd64.go b/vendor/modernc.org/libc/sys/stat/capi_linux_amd64.go
index 1fb4803dd..4b376b5c4 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_amd64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_amd64.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_linux_arm.go b/vendor/modernc.org/libc/sys/stat/capi_linux_arm.go
index 7f372b78c..d528ab881 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_arm.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_arm.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_linux_arm64.go b/vendor/modernc.org/libc/sys/stat/capi_linux_arm64.go
index 91333e641..381d13e04 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_arm64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_arm64.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_linux_s390x.go b/vendor/modernc.org/libc/sys/stat/capi_linux_s390x.go
index 995c5e20d..cd717e88a 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_s390x.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_s390x.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_netbsd_amd64.go b/vendor/modernc.org/libc/sys/stat/capi_netbsd_amd64.go
new file mode 100644
index 000000000..eac88b034
--- /dev/null
+++ b/vendor/modernc.org/libc/sys/stat/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_netbsd_amd64.go -pkgname stat', DO NOT EDIT.
+
+package stat
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/sys/stat/capi_windows_386.go b/vendor/modernc.org/libc/sys/stat/capi_windows_386.go
index 8ae3845ca..ec7e8697b 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_windows_386.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_windows_386.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_windows_386.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/capi_windows_amd64.go b/vendor/modernc.org/libc/sys/stat/capi_windows_amd64.go
index fb964cc36..c05d5e74e 100644
--- a/vendor/modernc.org/libc/sys/stat/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_windows_amd64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys\stat\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 sys\stat\stat_windows_amd64.go -pkgname stat', DO NOT EDIT.
package stat
diff --git a/vendor/modernc.org/libc/sys/stat/stat_darwin_amd64.go b/vendor/modernc.org/libc/sys/stat/stat_darwin_amd64.go
index f505b679e..34f6c6e8c 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_darwin_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_darwin_amd64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_darwin_amd64.go -pkgname stat', DO NOT EDIT.
package stat
@@ -663,8 +663,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -2240,14 +2240,14 @@ type Time_t = X__darwin_time_t /* _time_t.h:31:33 */
// vnode_internal.h).
type Ostat = struct {
Fst_dev X__uint16_t
- _ [6]byte
+ F__ccgo_pad1 [6]byte
Fst_ino Ino_t
Fst_mode Mode_t
Fst_nlink Nlink_t
Fst_uid X__uint16_t
Fst_gid X__uint16_t
Fst_rdev X__uint16_t
- _ [2]byte
+ F__ccgo_pad2 [2]byte
Fst_size X__int32_t
Fst_atimespec struct {
Ftv_sec X__darwin_time_t
@@ -2287,7 +2287,7 @@ type Stat = struct {
Fst_uid Uid_t
Fst_gid Gid_t
Fst_rdev Dev_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fst_atimespec struct {
Ftv_sec X__darwin_time_t
Ftv_nsec int64
@@ -2321,7 +2321,7 @@ type Stat64 = struct {
Fst_uid Uid_t
Fst_gid Gid_t
Fst_rdev Dev_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fst_atimespec struct {
Ftv_sec X__darwin_time_t
Ftv_nsec int64
diff --git a/vendor/modernc.org/libc/sys/stat/stat_darwin_arm64.go b/vendor/modernc.org/libc/sys/stat/stat_darwin_arm64.go
index 2aaa1428a..7c6b9e6ad 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_darwin_arm64.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_darwin_arm64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_darwin_arm64.go -pkgname stat', DO NOT EDIT.
package stat
@@ -1141,7 +1141,7 @@ type X__darwin_pthread_t = uintptr /* _pthread_
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -2231,14 +2231,14 @@ type Time_t = X__darwin_time_t /* _time_t.h:31:33 */
// vnode_internal.h).
type Ostat = struct {
Fst_dev X__uint16_t
- _ [6]byte
+ F__ccgo_pad1 [6]byte
Fst_ino Ino_t
Fst_mode Mode_t
Fst_nlink Nlink_t
Fst_uid X__uint16_t
Fst_gid X__uint16_t
Fst_rdev X__uint16_t
- _ [2]byte
+ F__ccgo_pad2 [2]byte
Fst_size X__int32_t
Fst_atimespec struct {
Ftv_sec X__darwin_time_t
@@ -2278,7 +2278,7 @@ type Stat = struct {
Fst_uid Uid_t
Fst_gid Gid_t
Fst_rdev Dev_t
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Fst_atimespec struct {
Ftv_sec X__darwin_time_t
Ftv_nsec int64
diff --git a/vendor/modernc.org/libc/sys/stat/stat_freebsd_amd64.go b/vendor/modernc.org/libc/sys/stat/stat_freebsd_amd64.go
index b71940211..a19412e89 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_freebsd_amd64.go
@@ -778,8 +778,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -950,9 +950,9 @@ type Timeval = struct {
} /* _timeval.h:49:1 */
type Pthread_once = struct {
- Fstate int32
- _ [4]byte
- Fmutex Pthread_mutex_t
+ Fstate int32
+ F__ccgo_pad1 [4]byte
+ Fmutex Pthread_mutex_t
} /* _pthreadtypes.h:52:1 */
// Primitive system data type definitions required by P1003.1c.
@@ -1812,18 +1812,18 @@ type Clockinfo = struct {
// These macros are also in sys/time.h.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:129:1 */
// -
diff --git a/vendor/modernc.org/libc/sys/stat/stat_linux_386.go b/vendor/modernc.org/libc/sys/stat/stat_linux_386.go
index 55b6d7727..798ee36e3 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_linux_386.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_386.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_386.go -pkgname stat', DO NOT EDIT.
package stat
@@ -48,12 +48,16 @@ const (
UTIME_NOW = 1073741823
UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
X_MKNOD_VER = 1
X_MKNOD_VER_LINUX = 1
X_MKNOD_VER_SVR4 = 2
@@ -85,7 +89,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -100,11 +104,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -119,7 +123,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -127,6 +131,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -247,6 +252,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -269,9 +276,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -286,7 +306,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -299,7 +319,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -314,7 +334,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -429,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -450,10 +470,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -468,7 +492,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -506,7 +530,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -521,11 +545,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -540,43 +564,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -588,7 +632,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -610,7 +654,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -625,7 +669,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -634,81 +678,108 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -723,22 +794,55 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// The Single Unix specification says that some more types are
// available here.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -753,7 +857,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -774,7 +878,7 @@ type Off_t = X__off64_t /* stat.h:72:19 */
type Uid_t = X__uid_t /* stat.h:78:17 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -789,28 +893,28 @@ type Uid_t = X__uid_t /* stat.h:78:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Versions of the `struct stat' data structure.
// i386 versions of the `xmknod' interface.
type Stat = struct {
- Fst_dev X__dev_t
- F__pad1 uint16
- _ [2]byte
- F__st_ino X__ino_t
- Fst_mode X__mode_t
- Fst_nlink X__nlink_t
- Fst_uid X__uid_t
- Fst_gid X__gid_t
- Fst_rdev X__dev_t
- F__pad2 uint16
- _ [2]byte
- Fst_size X__off64_t
- Fst_blksize X__blksize_t
- Fst_blocks X__blkcnt64_t
- Fst_atim struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [2]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
diff --git a/vendor/modernc.org/libc/sys/stat/stat_linux_amd64.go b/vendor/modernc.org/libc/sys/stat/stat_linux_amd64.go
index d1825b29d..f4422a2db 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_linux_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_amd64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_amd64.go -pkgname stat', DO NOT EDIT.
package stat
@@ -48,7 +48,10 @@ const (
UTIME_NOW = 1073741823
UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -91,7 +94,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -106,11 +109,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -125,7 +128,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -133,6 +136,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -253,6 +257,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -275,9 +281,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -292,7 +311,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -305,7 +324,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -320,7 +339,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -435,7 +454,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -456,11 +475,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -475,7 +498,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -513,7 +536,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -528,11 +551,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -547,45 +570,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -597,7 +639,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -618,7 +660,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -633,7 +675,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -648,83 +690,111 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -739,22 +809,55 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// The Single Unix specification says that some more types are
// available here.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -769,7 +872,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -790,7 +893,7 @@ type Off_t = X__off64_t /* stat.h:72:19 */
type Uid_t = X__uid_t /* stat.h:78:17 */
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -805,7 +908,7 @@ type Uid_t = X__uid_t /* stat.h:78:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Versions of the `struct stat' data structure.
diff --git a/vendor/modernc.org/libc/sys/stat/stat_linux_arm.go b/vendor/modernc.org/libc/sys/stat/stat_linux_arm.go
index 39c348bbd..af8229baf 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_linux_arm.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_arm.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_arm.go -pkgname stat', DO NOT EDIT.
package stat
@@ -48,7 +48,10 @@ const (
UTIME_NOW = 1073741823
UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -84,7 +87,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -99,11 +102,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -118,7 +121,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -126,6 +129,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -246,6 +250,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -268,9 +274,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -285,7 +304,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -298,7 +317,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -313,7 +332,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -428,7 +447,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -449,7 +468,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -464,10 +487,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -482,7 +505,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -536,7 +559,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -551,11 +574,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -570,9 +593,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,41 +610,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -633,7 +693,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -655,7 +715,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -670,88 +730,115 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -766,22 +853,55 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// ARM has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// The Single Unix specification says that some more types are
// available here.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -796,7 +916,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -817,7 +937,7 @@ type Off_t = X__off64_t /* stat.h:72:19 */
type Uid_t = X__uid_t /* stat.h:78:17 */
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -832,29 +952,29 @@ type Uid_t = X__uid_t /* stat.h:78:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Versions of the `struct stat' data structure.
// Versions of the `xmknod' interface.
type Stat = struct {
- Fst_dev X__dev_t
- F__pad1 uint16
- _ [2]byte
- F__st_ino X__ino_t
- Fst_mode X__mode_t
- Fst_nlink X__nlink_t
- Fst_uid X__uid_t
- Fst_gid X__gid_t
- Fst_rdev X__dev_t
- F__pad2 uint16
- _ [6]byte
- Fst_size X__off64_t
- Fst_blksize X__blksize_t
- _ [4]byte
- Fst_blocks X__blkcnt64_t
- Fst_atim struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [6]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ F__ccgo_pad3 [4]byte
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
@@ -869,4 +989,4 @@ type Stat = struct {
Fst_ino X__ino64_t
} /* stat.h:38:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/stat/stat_linux_arm64.go b/vendor/modernc.org/libc/sys/stat/stat_linux_arm64.go
index e06d284b7..f701f6f52 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_linux_arm64.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_arm64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_arm64.go -pkgname stat', DO NOT EDIT.
package stat
@@ -15,69 +15,65 @@ var _ atomic.Value
var _ unsafe.Pointer
const (
- ACCESSPERMS = 511
- ALLPERMS = 4095
- BIG_ENDIAN = 4321
- BYTE_ORDER = 1234
- DEFFILEMODE = 438
- LITTLE_ENDIAN = 1234
- PDP_ENDIAN = 3412
- S_BLKSIZE = 512
- S_IEXEC = 64
- S_IFBLK = 24576
- S_IFCHR = 8192
- S_IFDIR = 16384
- S_IFIFO = 4096
- S_IFLNK = 40960
- S_IFMT = 61440
- S_IFREG = 32768
- S_IFSOCK = 49152
- S_IREAD = 256
- S_IRGRP = 32
- S_IROTH = 4
- S_IRUSR = 256
- S_IRWXG = 56
- S_IRWXO = 7
- S_IRWXU = 448
- S_ISGID = 1024
- S_ISUID = 2048
- S_ISVTX = 512
- S_IWGRP = 16
- S_IWOTH = 2
- S_IWRITE = 128
- S_IWUSR = 128
- S_IXGRP = 8
- S_IXOTH = 1
- S_IXUSR = 64
- UTIME_NOW = 1073741823
- UTIME_OMIT = 1073741822
- X_ATFILE_SOURCE = 1
- X_BITS_BYTESWAP_H = 1
- X_BITS_STAT_H = 1
- X_BITS_TYPESIZES_H = 1
- X_BITS_TYPES_H = 1
- X_BITS_UINTN_IDENTITY_H = 1
- X_DEFAULT_SOURCE = 1
- X_ENDIAN_H = 1
- X_FEATURES_H = 1
- X_FILE_OFFSET_BITS = 64
- X_LP64 = 1
- X_MKNOD_VER = 0
- X_MKNOD_VER_LINUX = 0
- X_POSIX_C_SOURCE = 200809
- X_POSIX_SOURCE = 1
- X_STATBUF_ST_BLKSIZE = 0
- X_STATBUF_ST_NSEC = 0
- X_STATBUF_ST_RDEV = 0
- X_STAT_VER = 0
- X_STAT_VER_KERNEL = 0
- X_STAT_VER_LINUX = 0
- X_STDC_PREDEF_H = 1
- X_STRUCT_TIMESPEC = 1
- X_SYS_CDEFS_H = 1
- X_SYS_STAT_H = 1
- Linux = 1
- Unix = 1
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
+ DEFFILEMODE = 438
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IREAD = 256
+ S_IRGRP = 32
+ S_IROTH = 4
+ S_IRUSR = 256
+ S_IRWXG = 56
+ S_IRWXO = 7
+ S_IRWXU = 448
+ S_ISGID = 1024
+ S_ISUID = 2048
+ S_ISVTX = 512
+ S_IWGRP = 16
+ S_IWOTH = 2
+ S_IWRITE = 128
+ S_IWUSR = 128
+ S_IXGRP = 8
+ S_IXOTH = 1
+ S_IXUSR = 64
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_MKNOD_VER = 0
+ X_MKNOD_VER_LINUX = 0
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STATBUF_ST_BLKSIZE = 0
+ X_STATBUF_ST_NSEC = 0
+ X_STATBUF_ST_RDEV = 0
+ X_STAT_VER = 0
+ X_STAT_VER_KERNEL = 0
+ X_STAT_VER_LINUX = 0
+ X_STDC_PREDEF_H = 1
+ X_STRUCT_TIMESPEC = 1
+ X_SYS_CDEFS_H = 1
+ X_SYS_STAT_H = 1
+ Linux = 1
+ Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
@@ -98,7 +94,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -113,11 +109,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -132,7 +128,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -140,6 +136,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -260,6 +257,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -282,9 +281,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -299,7 +311,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -312,7 +324,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -327,7 +339,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -442,7 +454,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -463,9 +475,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -480,10 +496,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -498,7 +514,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -532,7 +548,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -547,7 +563,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -555,7 +571,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -570,11 +586,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -589,11 +605,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -608,41 +624,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -654,7 +709,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -675,7 +730,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -691,7 +746,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -704,83 +759,110 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -795,22 +877,55 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// AArch64 has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// The Single Unix specification says that some more types are
// available here.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -825,7 +940,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -846,9 +961,26 @@ type Off_t = X__off64_t /* stat.h:72:19 */
type Uid_t = X__uid_t /* stat.h:78:17 */
-// Determine the wordsize from the preprocessor defines.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -865,6 +997,25 @@ type Uid_t = X__uid_t /* stat.h:78:17 */
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
// 64-bit libc uses the kernel's 'struct stat', accessed via the
// stat() syscall; 32-bit libc uses the kernel's 'struct stat64'
// and accesses it via the stat64() syscall. All the various
@@ -901,6 +1052,6 @@ type Stat = struct {
Ftv_nsec X__syscall_slong_t
}
F__glibc_reserved [2]int32
-} /* stat.h:55:1 */
+} /* stat.h:58:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/stat/stat_linux_s390x.go b/vendor/modernc.org/libc/sys/stat/stat_linux_s390x.go
index 34c93f797..8a13a9b03 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_linux_s390x.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_linux_s390x.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_linux_s390x.go -pkgname stat', DO NOT EDIT.
package stat
@@ -48,7 +48,10 @@ const (
UTIME_NOW = 1073741823
UTIME_OMIT = 1073741822
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_STAT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -91,7 +94,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -106,11 +109,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -125,7 +128,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -133,6 +136,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -253,6 +257,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -275,9 +281,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -292,7 +311,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -305,7 +324,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -320,7 +339,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -435,7 +454,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -456,10 +475,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -474,7 +497,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -511,7 +534,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -526,11 +549,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -545,43 +568,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -593,7 +638,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -614,7 +659,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -629,7 +674,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -644,83 +689,111 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -735,22 +808,55 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// S/390 is big-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// The Single Unix specification says that some more types are
// available here.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -765,7 +871,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -786,7 +892,7 @@ type Off_t = X__off64_t /* stat.h:72:19 */
type Uid_t = X__uid_t /* stat.h:78:17 */
-// Copyright (C) 2000-2018 Free Software Foundation, Inc.
+// Copyright (C) 2000-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -801,7 +907,7 @@ type Uid_t = X__uid_t /* stat.h:78:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -836,4 +942,4 @@ type Stat = struct {
F__glibc_reserved [3]int64
} /* stat.h:50:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/stat/stat_netbsd_amd64.go b/vendor/modernc.org/libc/sys/stat/stat_netbsd_amd64.go
new file mode 100644
index 000000000..a12927200
--- /dev/null
+++ b/vendor/modernc.org/libc/sys/stat/stat_netbsd_amd64.go
@@ -0,0 +1,2354 @@
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_netbsd_amd64.go -pkgname stat', DO NOT EDIT.
+
+package stat
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ ACCESSPERMS = 511
+ ALLPERMS = 4095
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ CLOCKS_PER_SEC = 100
+ CLOCK_MONOTONIC = 3
+ CLOCK_PROCESS_CPUTIME_ID = 0x40000000
+ CLOCK_PROF = 2
+ CLOCK_REALTIME = 0
+ CLOCK_THREAD_CPUTIME_ID = 0x20000000
+ CLOCK_VIRTUAL = 1
+ DEFFILEMODE = 438
+ FD_SETSIZE = 256
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ ITIMER_MONOTONIC = 3
+ ITIMER_PROF = 2
+ ITIMER_REAL = 0
+ ITIMER_VIRTUAL = 1
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SF_APPEND = 0x00040000
+ SF_ARCHIVED = 0x00010000
+ SF_IMMUTABLE = 0x00020000
+ SF_LOG = 0x00400000
+ SF_SETTABLE = 0xffff0000
+ SF_SNAPINVAL = 0x00800000
+ SF_SNAPSHOT = 0x00200000
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ S_ARCH1 = 65536
+ S_ARCH2 = 131072
+ S_BLKSIZE = 512
+ S_IEXEC = 64
+ S_IFBLK = 24576
+ S_IFCHR = 8192
+ S_IFDIR = 16384
+ S_IFIFO = 4096
+ S_IFLNK = 40960
+ S_IFMT = 61440
+ S_IFREG = 32768
+ S_IFSOCK = 49152
+ S_IFWHT = 57344
+ S_IREAD = 256
+ S_IRGRP = 0000040
+ S_IROTH = 0000004
+ S_IRUSR = 0000400
+ S_IRWXG = 0000070
+ S_IRWXO = 0000007
+ S_IRWXU = 0000700
+ S_ISGID = 0002000
+ S_ISTXT = 0001000
+ S_ISUID = 0004000
+ S_ISVTX = 512
+ S_IWGRP = 0000020
+ S_IWOTH = 0000002
+ S_IWRITE = 128
+ S_IWUSR = 0000200
+ S_IXGRP = 0000010
+ S_IXOTH = 0000001
+ S_IXUSR = 0000100
+ TIMER_ABSTIME = 0x1
+ TIMER_RELTIME = 0x0
+ TIME_UTC = 1
+ UF_APPEND = 0x00000004
+ UF_IMMUTABLE = 0x00000002
+ UF_NODUMP = 0x00000001
+ UF_OPAQUE = 0x00000008
+ UF_SETTABLE = 0x0000ffff
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ UTIME_NOW = 1073741823
+ UTIME_OMIT = 1073741822
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_IDTYPE_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_SYS_SELECT_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_STAT_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TIMESPEC_H_ = 0
+ X_SYS_TIME_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_S_ARCH1 = 0200000
+ X_S_ARCH2 = 0400000
+ X_S_IFBLK = 0060000
+ X_S_IFCHR = 0020000
+ X_S_IFDIR = 0040000
+ X_S_IFIFO = 0010000
+ X_S_IFLNK = 0120000
+ X_S_IFMT = 0170000
+ X_S_IFREG = 0100000
+ X_S_IFSOCK = 0140000
+ X_S_IFWHT = 0160000
+ X_S_ISVTX = 0001000
+ X_TIME_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+const ( /* idtype.h:41:1: */
+ P_MYID = -1 // Me/my process group
+ P_ALL = 0 // All processes.
+ P_PID = 1 // A process identifier.
+ P_LWPID = 2 // An LWP identifier.
+ P_PPID = 3 // A parent process identifier.
+ P_PGID = 4 // A process group identifier.
+ P_SID = 5 // A session identifier.
+ P_CID = 6 // A scheduling class identifier.
+ P_UID = 7 // A user identifier.
+ P_GID = 8 // A group identifier.
+ P_TASKID = 9 // A task identifier.
+ P_PROJID = 10 // A project identifier.
+ P_POOLID = 11 // A pool identifier.
+ P_ZONEID = 12 // A zone identifier.
+ P_CTID = 13 // A (process) contract identifier.
+ P_CPUID = 14 // CPU identifier.
+ P_PSETID = 15 // Processor set identifier.
+ X_P_MAXIDTYPE = 2147483647
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// POSIX:2008 / XPG7 requires struct timespec to be declared in
+// this header, but does not provide the usual exemption
+// "inclusion of this header may make visible symbols defined in <time.h>".
+//
+// This is a Standard omission, acknowledged by the committee and
+// scheduled to be corrected in Technical Corrigendum 2, according to
+// http://austingroupbugs.net/view.php?id=531
+// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// Structure returned by gettimeofday(2) system call,
+// and used in other calls.
+type Timeval = struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+} /* time.h:44:1 */
+
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Timespec = struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+} /* timespec.h:47:1 */
+
+// Note: timezone is obsolete. All timezone handling is now in
+// userland. Its just here for back compatibility.
+type Timezone = struct {
+ Ftz_minuteswest int32
+ Ftz_dsttime int32
+} /* time.h:65:1 */
+
+// Operations on timevals.
+
+// hide bintime for _STANDALONE because this header is used for hpcboot.exe,
+// which is built with compilers which don't recognize LL suffix.
+// http://mail-index.NetBSD.org/tech-userlevel/2008/02/27/msg000181.html
+type Bintime = struct {
+ Fsec Time_t
+ Ffrac Uint64_t
+} /* time.h:102:1 */
+
+// Operations on timespecs.
+
+// Names of the interval timers, and structure
+// defining a timer setting.
+// NB: Must match the CLOCK_ constants below.
+
+type Itimerval = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+} /* time.h:280:1 */
+
+// Structure defined by POSIX.1b to be like a itimerval, but with
+// timespecs. Used in the timer_*() system calls.
+type Itimerspec = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+} /* time.h:289:1 */
+
+// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)select.h 8.2 (Berkeley) 1/4/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+
+// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $
+
+// Copyright (c) 1989, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.3 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
+// Public domain.
+
+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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
+} /* time.h:75:1 */
+
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+type Idtype_t = int32 /* idtype.h:60:3 */
+
+type Locale_t = uintptr /* time.h:188:25 */
+
+type Timezone_t = uintptr /* time.h:198:24 */
+
+type Stat = struct {
+ Fst_dev Dev_t
+ Fst_mode X__mode_t
+ F__ccgo_pad1 [4]byte
+ Fst_ino Ino_t
+ Fst_nlink Nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ F__ccgo_pad2 [4]byte
+ Fst_rdev Dev_t
+ Fst_atim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_mtim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_ctim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_birthtim struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fst_size X__off_t
+ Fst_blocks Blkcnt_t
+ Fst_blksize Blksize_t
+ Fst_flags Uint32_t
+ Fst_gen Uint32_t
+ Fst_spare [2]Uint32_t
+ F__ccgo_pad3 [4]byte
+} /* stat.h:59:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/stat/stat_windows_386.go b/vendor/modernc.org/libc/sys/stat/stat_windows_386.go
index a0d65b22c..46b091f73 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_windows_386.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_windows_386.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys/stat/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 sys/stat/stat_windows_386.go -pkgname stat', DO NOT EDIT.
package stat
@@ -33,9 +33,7 @@ const (
DUMMYUNIONNAME9 = 0
F_OK = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
R_OK = 4
@@ -89,6 +87,7 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DEV_T_DEFINED = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
@@ -97,6 +96,8 @@ const (
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FINDDATA_T_DEFINED = 0
X_FSIZE_T_DEFINED = 0
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
@@ -198,6 +199,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -218,6 +224,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -258,26 +270,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -303,29 +317,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
type X_fsize_t = uint32 /* io.h:29:25 */
type X_finddata32_t = struct {
@@ -344,12 +358,12 @@ type X_finddata32i64_t = struct {
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -359,13 +373,13 @@ type X_finddata64i32_t = struct {
type X__finddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
@@ -388,18 +402,18 @@ type X_wfinddata32i64_t = struct {
type X_wfinddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -460,81 +474,81 @@ type Itimerspec = struct {
type X_sigset_t = uint32 /* types.h:106:23 */
type X_stat32 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- Fst_size X_off_t
- Fst_atime X__time32_t
- Fst_mtime X__time32_t
- Fst_ctime X__time32_t
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ Fst_size X_off_t
+ Fst_atime X__time32_t
+ Fst_mtime X__time32_t
+ Fst_ctime X__time32_t
} /* _mingw_stat64.h:25:3 */
type Stat = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- Fst_size X_off_t
- Fst_atime Time_t
- Fst_mtime Time_t
- Fst_ctime Time_t
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ Fst_size X_off_t
+ Fst_atime Time_t
+ Fst_mtime Time_t
+ Fst_ctime Time_t
} /* _mingw_stat64.h:40:3 */
type X_stati64 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- _ [4]byte
- Fst_size int64
- Fst_atime X__time32_t
- Fst_mtime X__time32_t
- Fst_ctime X__time32_t
- _ [4]byte
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ F__ccgo_pad2 [4]byte
+ Fst_size int64
+ Fst_atime X__time32_t
+ Fst_mtime X__time32_t
+ Fst_ctime X__time32_t
+ F__ccgo_pad3 [4]byte
} /* _mingw_stat64.h:55:3 */
type X_stat64i32 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- Fst_size X_off_t
- Fst_atime X__time64_t
- Fst_mtime X__time64_t
- Fst_ctime X__time64_t
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ Fst_size X_off_t
+ Fst_atime X__time64_t
+ Fst_mtime X__time64_t
+ Fst_ctime X__time64_t
} /* _mingw_stat64.h:69:3 */
type X_stat64 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- _ [4]byte
- Fst_size int64
- Fst_atime X__time64_t
- Fst_mtime X__time64_t
- Fst_ctime X__time64_t
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ F__ccgo_pad2 [4]byte
+ Fst_size int64
+ Fst_atime X__time64_t
+ Fst_mtime X__time64_t
+ Fst_ctime X__time64_t
} /* _mingw_stat64.h:83:3 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/stat/stat_windows_amd64.go b/vendor/modernc.org/libc/sys/stat/stat_windows_amd64.go
index 31aec504c..9756b48a8 100644
--- a/vendor/modernc.org/libc/sys/stat/stat_windows_amd64.go
+++ b/vendor/modernc.org/libc/sys/stat/stat_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_windows_amd64.go -pkgname stat', DO NOT EDIT.
+// Code generated by 'ccgo sys\stat\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 sys\stat\stat_windows_amd64.go -pkgname stat', DO NOT EDIT.
package stat
@@ -125,6 +125,7 @@ const (
X_PID_T_ = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIGSET_T_ = 0
@@ -356,12 +357,12 @@ type X_finddata32i64_t = struct {
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -371,13 +372,13 @@ type X_finddata64i32_t = struct {
type X__finddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
@@ -400,18 +401,18 @@ type X_wfinddata32i64_t = struct {
type X_wfinddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -454,102 +455,102 @@ type Mode_t = X_mode_t /* types.h:77:17 */
type Useconds_t = uint32 /* types.h:84:22 */
type Timespec = struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ 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
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
Fit_value struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ 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_stat32 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- Fst_size X_off_t
- Fst_atime X__time32_t
- Fst_mtime X__time32_t
- Fst_ctime X__time32_t
-} /* _mingw_stat64.h:25:3 */
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ Fst_size X_off_t
+ Fst_atime X__time32_t
+ Fst_mtime X__time32_t
+ Fst_ctime X__time32_t
+} /* _mingw_stat64.h:28:3 */
type Stat = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- Fst_size X_off_t
- Fst_atime Time_t
- Fst_mtime Time_t
- Fst_ctime Time_t
-} /* _mingw_stat64.h:40:3 */
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ Fst_size X_off_t
+ Fst_atime Time_t
+ Fst_mtime Time_t
+ Fst_ctime Time_t
+} /* _mingw_stat64.h:43:3 */
type X_stat32i64 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- _ [4]byte
- Fst_size int64
- Fst_atime X__time32_t
- Fst_mtime X__time32_t
- Fst_ctime X__time32_t
- _ [4]byte
-} /* _mingw_stat64.h:55:3 */
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ F__ccgo_pad2 [4]byte
+ Fst_size int64
+ Fst_atime X__time32_t
+ Fst_mtime X__time32_t
+ Fst_ctime X__time32_t
+ F__ccgo_pad3 [4]byte
+} /* _mingw_stat64.h:58:3 */
type X_stat64i32 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- Fst_size X_off_t
- Fst_atime X__time64_t
- Fst_mtime X__time64_t
- Fst_ctime X__time64_t
-} /* _mingw_stat64.h:69:3 */
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ Fst_size X_off_t
+ Fst_atime X__time64_t
+ Fst_mtime X__time64_t
+ Fst_ctime X__time64_t
+} /* _mingw_stat64.h:72:3 */
type X_stat64 = struct {
- Fst_dev X_dev_t
- Fst_ino X_ino_t
- Fst_mode uint16
- Fst_nlink int16
- Fst_uid int16
- Fst_gid int16
- _ [2]byte
- Fst_rdev X_dev_t
- _ [4]byte
- Fst_size int64
- Fst_atime X__time64_t
- Fst_mtime X__time64_t
- Fst_ctime X__time64_t
-} /* _mingw_stat64.h:83:3 */
+ Fst_dev X_dev_t
+ Fst_ino X_ino_t
+ Fst_mode uint16
+ Fst_nlink int16
+ Fst_uid int16
+ Fst_gid int16
+ F__ccgo_pad1 [2]byte
+ Fst_rdev X_dev_t
+ F__ccgo_pad2 [4]byte
+ Fst_size int64
+ Fst_atime X__time64_t
+ Fst_mtime X__time64_t
+ Fst_ctime X__time64_t
+} /* _mingw_stat64.h:86:3 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/capi_darwin_amd64.go b/vendor/modernc.org/libc/sys/types/capi_darwin_amd64.go
index edc728ec5..7d05a9e0a 100644
--- a/vendor/modernc.org/libc/sys/types/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_darwin_amd64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_darwin_amd64.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_darwin_arm64.go b/vendor/modernc.org/libc/sys/types/capi_darwin_arm64.go
index cb879d802..96cf0022e 100644
--- a/vendor/modernc.org/libc/sys/types/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/sys/types/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_darwin_arm64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_darwin_arm64.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_linux_386.go b/vendor/modernc.org/libc/sys/types/capi_linux_386.go
index 479f6eeba..026dff4ae 100644
--- a/vendor/modernc.org/libc/sys/types/capi_linux_386.go
+++ b/vendor/modernc.org/libc/sys/types/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_386.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_386.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_linux_amd64.go b/vendor/modernc.org/libc/sys/types/capi_linux_amd64.go
index 136e5ea16..bc337eed0 100644
--- a/vendor/modernc.org/libc/sys/types/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_amd64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_amd64.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_linux_arm.go b/vendor/modernc.org/libc/sys/types/capi_linux_arm.go
index 77b2df793..c64f386ee 100644
--- a/vendor/modernc.org/libc/sys/types/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/sys/types/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_arm.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_arm.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_linux_arm64.go b/vendor/modernc.org/libc/sys/types/capi_linux_arm64.go
index 5d51feec3..4ec64ab50 100644
--- a/vendor/modernc.org/libc/sys/types/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/sys/types/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_arm64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_arm64.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_linux_s390x.go b/vendor/modernc.org/libc/sys/types/capi_linux_s390x.go
index 3a8d26c63..90fa54bab 100644
--- a/vendor/modernc.org/libc/sys/types/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/sys/types/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_s390x.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_s390x.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_netbsd_amd64.go b/vendor/modernc.org/libc/sys/types/capi_netbsd_amd64.go
new file mode 100644
index 000000000..9164103d4
--- /dev/null
+++ b/vendor/modernc.org/libc/sys/types/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo sys/types/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 sys/types/types_netbsd_amd64.go -pkgname types', DO NOT EDIT.
+
+package types
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/sys/types/capi_windows_386.go b/vendor/modernc.org/libc/sys/types/capi_windows_386.go
index 1456be781..d09a4ea4d 100644
--- a/vendor/modernc.org/libc/sys/types/capi_windows_386.go
+++ b/vendor/modernc.org/libc/sys/types/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_windows_386.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_windows_386.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/capi_windows_amd64.go b/vendor/modernc.org/libc/sys/types/capi_windows_amd64.go
index 85d075077..b044a7078 100644
--- a/vendor/modernc.org/libc/sys/types/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_windows_amd64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys\types\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 sys\types\types_windows_amd64.go -pkgname types', DO NOT EDIT.
package types
diff --git a/vendor/modernc.org/libc/sys/types/types_darwin_amd64.go b/vendor/modernc.org/libc/sys/types/types_darwin_amd64.go
index 0300fe099..0ba897784 100644
--- a/vendor/modernc.org/libc/sys/types/types_darwin_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/types_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_darwin_amd64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_darwin_amd64.go -pkgname types', DO NOT EDIT.
package types
@@ -707,8 +707,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
diff --git a/vendor/modernc.org/libc/sys/types/types_darwin_arm64.go b/vendor/modernc.org/libc/sys/types/types_darwin_arm64.go
index f54e977ff..728fd0893 100644
--- a/vendor/modernc.org/libc/sys/types/types_darwin_arm64.go
+++ b/vendor/modernc.org/libc/sys/types/types_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_darwin_arm64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_darwin_arm64.go -pkgname types', DO NOT EDIT.
package types
@@ -3675,7 +3675,7 @@ type Errno_t = int32 /* _errno_t.h:30:32 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -3977,7 +3977,7 @@ type Fd_set1 = struct{ Ffds_bits [32]X__int32_t } /* _fd_def.h:50:9 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
diff --git a/vendor/modernc.org/libc/sys/types/types_freebsd_amd64.go b/vendor/modernc.org/libc/sys/types/types_freebsd_amd64.go
index 348cc4e69..dcec77785 100644
--- a/vendor/modernc.org/libc/sys/types/types_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/types_freebsd_amd64.go
@@ -727,8 +727,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -738,9 +738,9 @@ type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */
type Pthread_once = struct {
- Fstate int32
- _ [4]byte
- Fmutex Pthread_mutex_t
+ Fstate int32
+ F__ccgo_pad1 [4]byte
+ Fmutex Pthread_mutex_t
} /* _pthreadtypes.h:52:1 */
// Primitive system data type definitions required by P1003.1c.
diff --git a/vendor/modernc.org/libc/sys/types/types_linux_386.go b/vendor/modernc.org/libc/sys/types/types_linux_386.go
index a8b201cf7..98949f0a1 100644
--- a/vendor/modernc.org/libc/sys/types/types_linux_386.go
+++ b/vendor/modernc.org/libc/sys/types/types_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_386.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_386.go -pkgname types', DO NOT EDIT.
package types
@@ -22,9 +22,12 @@ const (
PDP_ENDIAN = 3412
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -35,8 +38,10 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -49,6 +54,7 @@ const (
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -66,7 +72,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -81,11 +87,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -100,7 +106,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -108,6 +114,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -228,6 +235,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -250,9 +259,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -267,7 +289,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -280,7 +302,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -295,7 +317,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -410,7 +432,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -431,10 +453,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -449,7 +475,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -487,7 +513,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -502,11 +528,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -521,43 +547,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -569,7 +615,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -591,7 +637,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -606,7 +652,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -615,76 +661,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -721,7 +794,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -736,7 +809,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -744,7 +817,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -759,7 +832,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -767,7 +840,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -782,7 +855,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -790,7 +863,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -805,7 +878,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -820,11 +893,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -835,7 +903,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -850,10 +918,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -868,7 +936,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -877,18 +945,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -903,11 +970,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -922,11 +989,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -941,12 +1008,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -961,7 +1028,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -975,7 +1042,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -990,7 +1057,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1004,7 +1071,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1019,16 +1086,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1048,16 +1133,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1072,11 +1157,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1091,7 +1176,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1106,36 +1191,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1144,11 +1199,40 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1163,39 +1247,109 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1204,13 +1358,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1222,7 +1420,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1231,15 +1429,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1249,8 +1447,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1264,8 +1462,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1274,13 +1472,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/types_linux_amd64.go b/vendor/modernc.org/libc/sys/types/types_linux_amd64.go
index 46a8e9719..2aa62fe32 100644
--- a/vendor/modernc.org/libc/sys/types/types_linux_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/types_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_amd64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_amd64.go -pkgname types', DO NOT EDIT.
package types
@@ -22,9 +22,12 @@ const (
PDP_ENDIAN = 3412
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -38,6 +41,7 @@ const (
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -50,6 +54,7 @@ const (
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -75,7 +80,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -90,11 +95,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -109,7 +114,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -117,6 +122,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -237,6 +243,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -259,9 +267,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -276,7 +297,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -289,7 +310,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -304,7 +325,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -419,7 +440,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -440,11 +461,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -459,7 +484,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -497,7 +522,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -512,11 +537,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -531,45 +556,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -581,7 +625,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -602,7 +646,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -617,7 +661,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -632,78 +676,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -740,7 +812,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -755,7 +827,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -763,7 +835,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -778,7 +850,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -786,7 +858,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -801,7 +873,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -809,7 +881,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -824,7 +896,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -839,11 +911,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -854,7 +921,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -869,10 +936,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -887,7 +954,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -896,18 +963,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -922,11 +988,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -941,11 +1007,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -960,12 +1026,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -980,7 +1046,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -996,7 +1062,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1011,7 +1077,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1025,7 +1091,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1040,16 +1106,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1069,16 +1153,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1093,11 +1177,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1112,7 +1196,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1127,36 +1211,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1165,11 +1219,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1184,42 +1235,141 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1230,7 +1380,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1242,7 +1438,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1251,15 +1447,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1269,8 +1465,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1284,8 +1480,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1294,13 +1490,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/types_linux_arm.go b/vendor/modernc.org/libc/sys/types/types_linux_arm.go
index c5b8a5ff5..466d7a198 100644
--- a/vendor/modernc.org/libc/sys/types/types_linux_arm.go
+++ b/vendor/modernc.org/libc/sys/types/types_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_arm.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_arm.go -pkgname types', DO NOT EDIT.
package types
@@ -22,9 +22,12 @@ const (
PDP_ENDIAN = 3412
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -49,6 +52,7 @@ const (
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -65,7 +69,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -80,11 +84,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -99,7 +103,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -107,6 +111,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -227,6 +232,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -249,9 +256,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -266,7 +286,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -279,7 +299,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -294,7 +314,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -409,7 +429,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -430,7 +450,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -445,10 +469,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -463,7 +487,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -517,7 +541,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -532,11 +556,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -551,9 +575,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -568,41 +592,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -614,7 +675,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -636,7 +697,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -651,83 +712,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -764,7 +852,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -779,7 +867,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -787,7 +875,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -802,7 +890,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -810,7 +898,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -825,7 +913,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -833,7 +921,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -848,7 +936,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -863,11 +951,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -878,7 +961,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -893,10 +976,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -911,7 +994,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -920,18 +1003,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -946,11 +1028,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -965,11 +1047,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -984,12 +1066,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1004,7 +1086,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1019,7 +1101,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1034,7 +1116,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1048,7 +1130,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1063,16 +1145,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1092,16 +1192,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1116,11 +1216,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1135,7 +1235,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1150,35 +1250,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
@@ -1188,11 +1363,27 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// This file is part of the GNU C Library.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1206,10 +1397,94 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1226,7 +1501,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
type X__pthread_rwlock_arch_t = struct {
F__readers uint32
@@ -1240,27 +1518,7 @@ type X__pthread_rwlock_arch_t = struct {
F__pad1 uint8
F__pad2 uint8
F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
-
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
-
-type X__pthread_mutex_s = struct {
- F__lock int32
- F__count uint32
- F__owner int32
- F__kind int32
- F__nusers uint32
- F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -1272,7 +1530,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1281,15 +1539,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1299,8 +1557,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1314,8 +1572,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1324,13 +1582,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/types_linux_arm64.go b/vendor/modernc.org/libc/sys/types/types_linux_arm64.go
index 4f6c9a72d..8efdaee68 100644
--- a/vendor/modernc.org/libc/sys/types/types_linux_arm64.go
+++ b/vendor/modernc.org/libc/sys/types/types_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_arm64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_arm64.go -pkgname types', DO NOT EDIT.
package types
@@ -22,9 +22,12 @@ const (
PDP_ENDIAN = 3412
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -38,6 +41,7 @@ const (
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -50,6 +54,7 @@ const (
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -75,7 +80,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -90,11 +95,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -109,7 +114,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -117,6 +122,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -237,6 +243,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -259,9 +267,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -276,7 +297,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -289,7 +310,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -304,7 +325,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -419,7 +440,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -440,9 +461,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -457,10 +482,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -475,7 +500,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -509,7 +534,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -524,7 +549,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -532,7 +557,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -547,11 +572,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -566,11 +591,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -585,41 +610,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -631,7 +695,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -652,7 +716,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -668,7 +732,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -681,78 +745,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -789,7 +880,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -804,7 +895,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -812,7 +903,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -827,7 +918,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -835,7 +926,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -850,7 +941,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -858,7 +949,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -873,7 +964,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -888,11 +979,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -903,7 +989,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -918,10 +1004,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -936,7 +1022,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -945,18 +1031,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -971,11 +1056,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -990,11 +1075,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1009,12 +1094,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1029,7 +1114,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1044,7 +1129,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1059,7 +1144,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1073,7 +1158,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1088,16 +1173,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1117,16 +1220,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1141,11 +1244,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1160,7 +1263,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1175,36 +1278,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1213,11 +1286,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1233,9 +1303,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1252,36 +1323,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1291,7 +1481,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1303,7 +1538,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1312,15 +1547,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1330,15 +1565,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -1348,8 +1583,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1358,13 +1593,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/types_linux_s390x.go b/vendor/modernc.org/libc/sys/types/types_linux_s390x.go
index 199fdd2da..3f66eb727 100644
--- a/vendor/modernc.org/libc/sys/types/types_linux_s390x.go
+++ b/vendor/modernc.org/libc/sys/types/types_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_linux_s390x.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_linux_s390x.go -pkgname types', DO NOT EDIT.
package types
@@ -22,9 +22,12 @@ const (
PDP_ENDIAN = 3412
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_UINTN_IDENTITY_H = 1
@@ -38,6 +41,7 @@ const (
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -50,6 +54,7 @@ const (
X_SYS_SELECT_H = 1
X_SYS_SIZE_T_H = 0
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
@@ -75,7 +80,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -90,11 +95,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -109,7 +114,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -117,6 +122,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -237,6 +243,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -259,9 +267,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -276,7 +297,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -289,7 +310,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -304,7 +325,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -419,7 +440,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -440,10 +461,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -458,7 +483,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -495,7 +520,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -510,11 +535,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -529,43 +554,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -577,7 +624,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -598,7 +645,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -613,7 +660,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -628,78 +675,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -736,7 +811,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -751,7 +826,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -759,7 +834,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -774,7 +849,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -782,7 +857,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -797,7 +872,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -805,7 +880,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -820,7 +895,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -835,11 +910,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -850,7 +920,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -865,10 +935,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -883,7 +953,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -892,18 +962,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -918,11 +987,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -937,11 +1006,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -956,12 +1025,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -976,7 +1045,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -991,7 +1060,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1006,7 +1075,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1020,7 +1089,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1035,16 +1104,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1064,16 +1151,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1088,11 +1175,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1107,7 +1194,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1122,36 +1209,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1160,11 +1217,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1183,35 +1239,135 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1222,7 +1378,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1234,7 +1435,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1243,15 +1444,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1261,8 +1462,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1276,8 +1477,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1286,13 +1487,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/types_netbsd_amd64.go b/vendor/modernc.org/libc/sys/types/types_netbsd_amd64.go
new file mode 100644
index 000000000..37b688de5
--- /dev/null
+++ b/vendor/modernc.org/libc/sys/types/types_netbsd_amd64.go
@@ -0,0 +1,1364 @@
+// Code generated by 'ccgo sys/types/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 sys/types/types_netbsd_amd64.go -pkgname types', DO NOT EDIT.
+
+package types
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ FD_SETSIZE = 256
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/sys/types/types_windows_386.go b/vendor/modernc.org/libc/sys/types/types_windows_386.go
index d69ab047b..25487bb49 100644
--- a/vendor/modernc.org/libc/sys/types/types_windows_386.go
+++ b/vendor/modernc.org/libc/sys/types/types_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_windows_386.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys/types/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 sys/types/types_windows_386.go -pkgname types', DO NOT EDIT.
package types
@@ -32,9 +32,7 @@ const (
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
UNALIGNED = 0
@@ -56,11 +54,14 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 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_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
@@ -136,6 +137,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -156,6 +162,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -196,26 +208,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -241,29 +255,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
type X_ino_t = uint16 /* types.h:43:24 */
type Ino_t = uint16 /* types.h:45:24 */
diff --git a/vendor/modernc.org/libc/sys/types/types_windows_amd64.go b/vendor/modernc.org/libc/sys/types/types_windows_amd64.go
index dfe772ff6..cf0d07b9c 100644
--- a/vendor/modernc.org/libc/sys/types/types_windows_amd64.go
+++ b/vendor/modernc.org/libc/sys/types/types_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo sys/types/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_windows_amd64.go -pkgname types', DO NOT EDIT.
+// Code generated by 'ccgo sys\types\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 sys\types\types_windows_amd64.go -pkgname types', DO NOT EDIT.
package types
@@ -83,6 +83,7 @@ const (
X_PID_T_ = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIGSET_T_ = 0
@@ -302,21 +303,21 @@ 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
- _ [4]byte
+ 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
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
Fit_value struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
} /* types.h:94:1 */
diff --git a/vendor/modernc.org/libc/termios/capi_darwin_amd64.go b/vendor/modernc.org/libc/termios/capi_darwin_amd64.go
index 4e1973f60..7215e0679 100644
--- a/vendor/modernc.org/libc/termios/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/termios/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_darwin_amd64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_darwin_amd64.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_darwin_arm64.go b/vendor/modernc.org/libc/termios/capi_darwin_arm64.go
index 5c28580ef..3e2e7800a 100644
--- a/vendor/modernc.org/libc/termios/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/termios/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_darwin_arm64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_darwin_arm64.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_linux_386.go b/vendor/modernc.org/libc/termios/capi_linux_386.go
index 9a858024e..bc8ddcbe3 100644
--- a/vendor/modernc.org/libc/termios/capi_linux_386.go
+++ b/vendor/modernc.org/libc/termios/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_386.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_386.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_linux_amd64.go b/vendor/modernc.org/libc/termios/capi_linux_amd64.go
index c0d5caefb..663db586d 100644
--- a/vendor/modernc.org/libc/termios/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/termios/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_amd64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_amd64.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_linux_arm.go b/vendor/modernc.org/libc/termios/capi_linux_arm.go
index 94134a009..be2265099 100644
--- a/vendor/modernc.org/libc/termios/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/termios/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_arm.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_arm.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_linux_arm64.go b/vendor/modernc.org/libc/termios/capi_linux_arm64.go
index 4c924d5ec..f94925e66 100644
--- a/vendor/modernc.org/libc/termios/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/termios/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_arm64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_arm64.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_linux_s390x.go b/vendor/modernc.org/libc/termios/capi_linux_s390x.go
index 08d68045a..b4b71f1c3 100644
--- a/vendor/modernc.org/libc/termios/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/termios/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_s390x.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_s390x.go -pkgname termios', DO NOT EDIT.
package termios
diff --git a/vendor/modernc.org/libc/termios/capi_netbsd_amd64.go b/vendor/modernc.org/libc/termios/capi_netbsd_amd64.go
new file mode 100644
index 000000000..4b6fad625
--- /dev/null
+++ b/vendor/modernc.org/libc/termios/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo termios/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 termios/termios_netbsd_amd64.go -pkgname termios', DO NOT EDIT.
+
+package termios
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/termios/termios_darwin_amd64.go b/vendor/modernc.org/libc/termios/termios_darwin_amd64.go
index e4cb841f3..8df6e18a0 100644
--- a/vendor/modernc.org/libc/termios/termios_darwin_amd64.go
+++ b/vendor/modernc.org/libc/termios/termios_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_darwin_amd64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_darwin_amd64.go -pkgname termios', DO NOT EDIT.
package termios
@@ -803,14 +803,14 @@ type Cc_t = uint8 /* termios.h:264:25 */
type Speed_t = uint64 /* termios.h:265:25 */
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_cc [20]Cc_t
- _ [4]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_cc [20]Cc_t
+ F__ccgo_pad1 [4]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
} /* termios.h:267:1 */
// Include tty ioctl's that aren't just for backwards compatibility
@@ -1117,8 +1117,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
diff --git a/vendor/modernc.org/libc/termios/termios_darwin_arm64.go b/vendor/modernc.org/libc/termios/termios_darwin_arm64.go
index 95a1e1f6f..1eadf3f82 100644
--- a/vendor/modernc.org/libc/termios/termios_darwin_arm64.go
+++ b/vendor/modernc.org/libc/termios/termios_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_darwin_arm64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_darwin_arm64.go -pkgname termios', DO NOT EDIT.
package termios
@@ -809,14 +809,14 @@ type Cc_t = uint8 /* termios.h:264:25 */
type Speed_t = uint64 /* termios.h:265:25 */
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_cc [20]Cc_t
- _ [4]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_cc [20]Cc_t
+ F__ccgo_pad1 [4]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
} /* termios.h:267:1 */
// Include tty ioctl's that aren't just for backwards compatibility
diff --git a/vendor/modernc.org/libc/termios/termios_freebsd_amd64.go b/vendor/modernc.org/libc/termios/termios_freebsd_amd64.go
index 4b67b9ebc..f1622be4c 100644
--- a/vendor/modernc.org/libc/termios/termios_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/termios/termios_freebsd_amd64.go
@@ -833,8 +833,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
diff --git a/vendor/modernc.org/libc/termios/termios_linux_386.go b/vendor/modernc.org/libc/termios/termios_linux_386.go
index 0025d9a01..94986fa37 100644
--- a/vendor/modernc.org/libc/termios/termios_linux_386.go
+++ b/vendor/modernc.org/libc/termios/termios_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_386.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_386.go -pkgname termios', DO NOT EDIT.
package termios
@@ -50,8 +50,8 @@ const (
BS0 = 0000000
BS1 = 0020000
BSDLY = 0020000
- CBAUD = 0010017
- CBAUDEX = 0010000
+ CBAUD = 000000010017
+ CBAUDEX = 000000010000
CBRK = 0
CDISCARD = 15
CDSUSP = 25
@@ -152,6 +152,7 @@ const (
TCSADRAIN = 1
TCSAFLUSH = 2
TCSANOW = 0
+ TIOCSER_TEMT = 0x01
TOSTOP = 0000400
TTYDEF_CFLAG = 1440
TTYDEF_IFLAG = 11554
@@ -181,6 +182,7 @@ const (
XCASE = 0000004
XTABS = 0014000
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -188,6 +190,7 @@ const (
X_FILE_OFFSET_BITS = 64
X_HAVE_STRUCT_TERMIOS_C_ISPEED = 1
X_HAVE_STRUCT_TERMIOS_C_OSPEED = 1
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_STDC_PREDEF_H = 1
@@ -208,7 +211,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -223,11 +226,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 7.1-2 General Terminal Interface <termios.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -242,7 +245,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -250,6 +253,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -370,6 +374,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -392,9 +398,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -409,7 +428,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -422,7 +441,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -437,7 +456,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -552,7 +571,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -573,10 +592,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -591,7 +614,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -630,7 +653,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// We need `pid_t'.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -645,11 +668,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -664,43 +687,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -712,7 +755,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -734,7 +777,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -749,7 +792,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -758,83 +801,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Pid_t = X__pid_t /* termios.h:30:17 */
// Get the system-dependent definitions of `struct termios', `tcflag_t',
// `cc_t', `speed_t', and all the macros specifying the flag bits.
// termios type and macro definitions. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -849,23 +919,41 @@ type Pid_t = X__pid_t /* termios.h:30:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Cc_t = uint8 /* termios.h:23:23 */
type Speed_t = uint32 /* termios.h:24:22 */
type Tcflag_t = uint32 /* termios.h:25:22 */
+// struct termios definition. Linux/generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_line Cc_t
- Fc_cc [32]Cc_t
- _ [3]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
-} /* termios.h:28:1 */
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_line Cc_t
+ Fc_cc [32]Cc_t
+ F__ccgo_pad1 [3]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
+} /* termios-struct.h:24:1 */
// -
// Copyright (c) 1982, 1986, 1993
diff --git a/vendor/modernc.org/libc/termios/termios_linux_amd64.go b/vendor/modernc.org/libc/termios/termios_linux_amd64.go
index bd09ff7d5..929ca5f5f 100644
--- a/vendor/modernc.org/libc/termios/termios_linux_amd64.go
+++ b/vendor/modernc.org/libc/termios/termios_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_amd64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_amd64.go -pkgname termios', DO NOT EDIT.
package termios
@@ -50,8 +50,8 @@ const (
BS0 = 0000000
BS1 = 0020000
BSDLY = 0020000
- CBAUD = 0010017
- CBAUDEX = 0010000
+ CBAUD = 000000010017
+ CBAUDEX = 000000010000
CBRK = 0
CDISCARD = 15
CDSUSP = 25
@@ -152,6 +152,7 @@ const (
TCSADRAIN = 1
TCSAFLUSH = 2
TCSANOW = 0
+ TIOCSER_TEMT = 0x01
TOSTOP = 0000400
TTYDEF_CFLAG = 1440
TTYDEF_IFLAG = 11554
@@ -181,6 +182,7 @@ const (
XCASE = 0000004
XTABS = 0014000
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -217,7 +219,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -232,11 +234,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 7.1-2 General Terminal Interface <termios.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -251,7 +253,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -259,6 +261,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -379,6 +382,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -401,9 +406,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -418,7 +436,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -431,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +464,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -561,7 +579,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -582,11 +600,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -601,7 +623,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -640,7 +662,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// We need `pid_t'.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -655,11 +677,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -674,45 +696,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -724,7 +765,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -745,7 +786,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -760,7 +801,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -775,85 +816,113 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Pid_t = X__pid_t /* termios.h:30:17 */
// Get the system-dependent definitions of `struct termios', `tcflag_t',
// `cc_t', `speed_t', and all the macros specifying the flag bits.
// termios type and macro definitions. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -868,23 +937,41 @@ type Pid_t = X__pid_t /* termios.h:30:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Cc_t = uint8 /* termios.h:23:23 */
type Speed_t = uint32 /* termios.h:24:22 */
type Tcflag_t = uint32 /* termios.h:25:22 */
+// struct termios definition. Linux/generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_line Cc_t
- Fc_cc [32]Cc_t
- _ [3]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
-} /* termios.h:28:1 */
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_line Cc_t
+ Fc_cc [32]Cc_t
+ F__ccgo_pad1 [3]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
+} /* termios-struct.h:24:1 */
// -
// Copyright (c) 1982, 1986, 1993
diff --git a/vendor/modernc.org/libc/termios/termios_linux_arm.go b/vendor/modernc.org/libc/termios/termios_linux_arm.go
index 9bab8c404..2721b808e 100644
--- a/vendor/modernc.org/libc/termios/termios_linux_arm.go
+++ b/vendor/modernc.org/libc/termios/termios_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_arm.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_arm.go -pkgname termios', DO NOT EDIT.
package termios
@@ -50,8 +50,8 @@ const (
BS0 = 0000000
BS1 = 0020000
BSDLY = 0020000
- CBAUD = 0010017
- CBAUDEX = 0010000
+ CBAUD = 000000010017
+ CBAUDEX = 000000010000
CBRK = 0
CDISCARD = 15
CDSUSP = 25
@@ -152,6 +152,7 @@ const (
TCSADRAIN = 1
TCSAFLUSH = 2
TCSANOW = 0
+ TIOCSER_TEMT = 0x01
TOSTOP = 0000400
TTYDEF_CFLAG = 1440
TTYDEF_IFLAG = 11554
@@ -181,6 +182,7 @@ const (
XCASE = 0000004
XTABS = 0014000
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -207,7 +209,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -222,11 +224,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 7.1-2 General Terminal Interface <termios.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -241,7 +243,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -249,6 +251,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -369,6 +372,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -391,9 +396,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -408,7 +426,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -421,7 +439,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -436,7 +454,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -551,7 +569,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -572,7 +590,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,10 +609,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -605,7 +627,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -660,7 +682,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// We need `pid_t'.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -675,11 +697,46 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -694,9 +751,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -711,41 +768,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -757,7 +816,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -779,7 +838,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -794,90 +853,117 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Pid_t = X__pid_t /* termios.h:30:17 */
// Get the system-dependent definitions of `struct termios', `tcflag_t',
// `cc_t', `speed_t', and all the macros specifying the flag bits.
// termios type and macro definitions. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -892,23 +978,41 @@ type Pid_t = X__pid_t /* termios.h:30:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Cc_t = uint8 /* termios.h:23:23 */
type Speed_t = uint32 /* termios.h:24:22 */
type Tcflag_t = uint32 /* termios.h:25:22 */
+// struct termios definition. Linux/generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_line Cc_t
- Fc_cc [32]Cc_t
- _ [3]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
-} /* termios.h:28:1 */
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_line Cc_t
+ Fc_cc [32]Cc_t
+ F__ccgo_pad1 [3]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
+} /* termios-struct.h:24:1 */
// -
// Copyright (c) 1982, 1986, 1993
@@ -956,4 +1060,4 @@ type Termios = struct {
// #define TTYDEFCHARS to include an array of default control characters.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/termios/termios_linux_arm64.go b/vendor/modernc.org/libc/termios/termios_linux_arm64.go
index bb2d96e35..5ff212e6e 100644
--- a/vendor/modernc.org/libc/termios/termios_linux_arm64.go
+++ b/vendor/modernc.org/libc/termios/termios_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_arm64.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_arm64.go -pkgname termios', DO NOT EDIT.
package termios
@@ -50,8 +50,8 @@ const (
BS0 = 0000000
BS1 = 0020000
BSDLY = 0020000
- CBAUD = 0010017
- CBAUDEX = 0010000
+ CBAUD = 000000010017
+ CBAUDEX = 000000010000
CBRK = 0
CDISCARD = 15
CDSUSP = 25
@@ -152,6 +152,7 @@ const (
TCSADRAIN = 1
TCSAFLUSH = 2
TCSANOW = 0
+ TIOCSER_TEMT = 0x01
TOSTOP = 0000400
TTYDEF_CFLAG = 1440
TTYDEF_IFLAG = 11554
@@ -181,6 +182,7 @@ const (
XCASE = 0000004
XTABS = 0014000
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -217,7 +219,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -232,11 +234,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 7.1-2 General Terminal Interface <termios.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -251,7 +253,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -259,6 +261,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -379,6 +382,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -401,9 +406,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -418,7 +436,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -431,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +464,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -561,7 +579,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -582,9 +600,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -599,10 +621,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -617,7 +639,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -651,7 +673,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -666,7 +688,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -675,7 +697,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// We need `pid_t'.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -690,11 +712,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -709,11 +731,29 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -728,41 +768,62 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -774,7 +835,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -795,7 +856,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -811,7 +872,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -824,85 +885,112 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Pid_t = X__pid_t /* termios.h:30:17 */
// Get the system-dependent definitions of `struct termios', `tcflag_t',
// `cc_t', `speed_t', and all the macros specifying the flag bits.
// termios type and macro definitions. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -917,23 +1005,41 @@ type Pid_t = X__pid_t /* termios.h:30:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Cc_t = uint8 /* termios.h:23:23 */
type Speed_t = uint32 /* termios.h:24:22 */
type Tcflag_t = uint32 /* termios.h:25:22 */
+// struct termios definition. Linux/generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_line Cc_t
- Fc_cc [32]Cc_t
- _ [3]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
-} /* termios.h:28:1 */
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_line Cc_t
+ Fc_cc [32]Cc_t
+ F__ccgo_pad1 [3]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
+} /* termios-struct.h:24:1 */
// -
// Copyright (c) 1982, 1986, 1993
@@ -981,4 +1087,4 @@ type Termios = struct {
// #define TTYDEFCHARS to include an array of default control characters.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/termios/termios_linux_s390x.go b/vendor/modernc.org/libc/termios/termios_linux_s390x.go
index bb326fd85..db74bc6f4 100644
--- a/vendor/modernc.org/libc/termios/termios_linux_s390x.go
+++ b/vendor/modernc.org/libc/termios/termios_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_linux_s390x.go -pkgname termios', DO NOT EDIT.
+// Code generated by 'ccgo termios/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 termios/termios_linux_s390x.go -pkgname termios', DO NOT EDIT.
package termios
@@ -50,8 +50,8 @@ const (
BS0 = 0000000
BS1 = 0020000
BSDLY = 0020000
- CBAUD = 0010017
- CBAUDEX = 0010000
+ CBAUD = 000000010017
+ CBAUDEX = 000000010000
CBRK = 0
CDISCARD = 15
CDSUSP = 25
@@ -152,6 +152,7 @@ const (
TCSADRAIN = 1
TCSAFLUSH = 2
TCSANOW = 0
+ TIOCSER_TEMT = 0x01
TOSTOP = 0000400
TTYDEF_CFLAG = 1440
TTYDEF_IFLAG = 11554
@@ -181,6 +182,7 @@ const (
XCASE = 0000004
XTABS = 0014000
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -217,7 +219,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -232,11 +234,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 7.1-2 General Terminal Interface <termios.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -251,7 +253,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -259,6 +261,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -379,6 +382,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -401,9 +406,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -418,7 +436,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -431,7 +449,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,7 +464,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -561,7 +579,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -582,10 +600,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -600,7 +622,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -638,7 +660,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// We need `pid_t'.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -653,11 +675,31 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -672,43 +714,45 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -720,7 +764,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -741,7 +785,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -756,7 +800,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -771,85 +815,113 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Pid_t = X__pid_t /* termios.h:30:17 */
// Get the system-dependent definitions of `struct termios', `tcflag_t',
// `cc_t', `speed_t', and all the macros specifying the flag bits.
// termios type and macro definitions. Linux version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -864,23 +936,41 @@ type Pid_t = X__pid_t /* termios.h:30:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
type Cc_t = uint8 /* termios.h:23:23 */
type Speed_t = uint32 /* termios.h:24:22 */
type Tcflag_t = uint32 /* termios.h:25:22 */
+// struct termios definition. Linux/generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
type Termios = struct {
- Fc_iflag Tcflag_t
- Fc_oflag Tcflag_t
- Fc_cflag Tcflag_t
- Fc_lflag Tcflag_t
- Fc_line Cc_t
- Fc_cc [32]Cc_t
- _ [3]byte
- Fc_ispeed Speed_t
- Fc_ospeed Speed_t
-} /* termios.h:28:1 */
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_line Cc_t
+ Fc_cc [32]Cc_t
+ F__ccgo_pad1 [3]byte
+ Fc_ispeed Speed_t
+ Fc_ospeed Speed_t
+} /* termios-struct.h:24:1 */
// -
// Copyright (c) 1982, 1986, 1993
@@ -928,4 +1018,4 @@ type Termios = struct {
// #define TTYDEFCHARS to include an array of default control characters.
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/termios/termios_netbsd_amd64.go b/vendor/modernc.org/libc/termios/termios_netbsd_amd64.go
new file mode 100644
index 000000000..f34384ad1
--- /dev/null
+++ b/vendor/modernc.org/libc/termios/termios_netbsd_amd64.go
@@ -0,0 +1,733 @@
+// Code generated by 'ccgo termios/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 termios/termios_netbsd_amd64.go -pkgname termios', DO NOT EDIT.
+
+package termios
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ ALTWERASE = 0x00000200
+ ARG_MAX = 262144
+ B0 = 0
+ B1000000 = 1000000
+ B110 = 110
+ B115200 = 115200
+ B1200 = 1200
+ B134 = 134
+ B14400 = 14400
+ B150 = 150
+ B1500000 = 1500000
+ B1800 = 1800
+ B19200 = 19200
+ B200 = 200
+ B2000000 = 2000000
+ B230400 = 230400
+ B2400 = 2400
+ B2500000 = 2500000
+ B28800 = 28800
+ B300 = 300
+ B3000000 = 3000000
+ B3500000 = 3500000
+ B38400 = 38400
+ B4000000 = 4000000
+ B460800 = 460800
+ B4800 = 4800
+ B50 = 50
+ B500000 = 500000
+ B57600 = 57600
+ B600 = 600
+ B7200 = 7200
+ B75 = 75
+ B76800 = 76800
+ B921600 = 921600
+ B9600 = 9600
+ BC_DIM_MAX = 65535
+ BRKINT = 0x00000002
+ CCTS_OFLOW = 65536
+ CDISCARD = 15
+ CDSUSP = 25
+ CDTRCTS = 0x00020000
+ CEOF = 4
+ CEOT = 4
+ CERASE = 0177
+ CFLUSH = 15
+ CHILD_MAX = 160
+ CHWFLOW = 1245184
+ CIGNORE = 0x00000001
+ CINTR = 3
+ CKILL = 21
+ CLNEXT = 22
+ CLOCAL = 0x00008000
+ CMIN = 1
+ COLL_WEIGHTS_MAX = 2
+ CQUIT = 034
+ CREAD = 0x00000800
+ CREPRINT = 18
+ CRPRNT = 18
+ CRTSCTS = 0x00010000
+ CRTS_IFLOW = 65536
+ CS5 = 0x00000000
+ CS6 = 0x00000100
+ CS7 = 0x00000200
+ CS8 = 0x00000300
+ CSIZE = 0x00000300
+ CSTART = 17
+ CSTATUS = 20
+ CSTOP = 19
+ CSTOPB = 0x00000400
+ CSUSP = 26
+ CTIME = 0
+ CWERASE = 23
+ ECHO = 0x00000008
+ ECHOCTL = 0x00000040
+ ECHOE = 0x00000002
+ ECHOK = 0x00000004
+ ECHOKE = 0x00000001
+ ECHONL = 0x00000010
+ ECHOPRT = 0x00000020
+ EXPR_NEST_MAX = 32
+ EXTA = 19200
+ EXTB = 38400
+ EXTPROC = 0x00000800
+ FLUSHO = 0x00800000
+ GID_MAX = 2147483647
+ HDLCDISC = 9
+ HUPCL = 0x00004000
+ ICANON = 0x00000100
+ ICRNL = 0x00000100
+ IEXTEN = 0x00000400
+ IGNBRK = 0x00000001
+ IGNCR = 0x00000080
+ IGNPAR = 0x00000004
+ IMAXBEL = 0x00002000
+ INLCR = 0x00000040
+ INPCK = 0x00000010
+ IOCGROUP_SHIFT = 8
+ IOCPARM_MASK = 0x1fff
+ IOCPARM_SHIFT = 16
+ IOV_MAX = 1024
+ ISIG = 0x00000080
+ ISTRIP = 0x00000020
+ IXANY = 0x00000800
+ IXOFF = 0x00000400
+ IXON = 0x00000200
+ LINE_MAX = 2048
+ LINK_MAX = 32767
+ LOGIN_NAME_MAX = 17
+ MAX_CANON = 255
+ MAX_INPUT = 255
+ MDMBUF = 0x00100000
+ NAME_MAX = 511
+ NCCS = 20
+ NGROUPS_MAX = 16
+ NOFLSH = 0x80000000
+ NOKERNINFO = 0x02000000
+ NZERO = 20
+ OCRNL = 0x00000010
+ ONLCR = 0x00000002
+ ONLRET = 0x00000040
+ ONOCR = 0x00000020
+ ONOEOT = 0x00000008
+ OPEN_MAX = 128
+ OPOST = 0x00000001
+ OXTABS = 0x00000004
+ PARENB = 0x00001000
+ PARMRK = 0x00000008
+ PARODD = 0x00002000
+ PATH_MAX = 1024
+ PENDIN = 0x20000000
+ PIPE_BUF = 512
+ PPPDISC = 5
+ RE_DUP_MAX = 255
+ SLIPDISC = 4
+ STRIPDISC = 6
+ TABLDISC = 3
+ TCIFLUSH = 1
+ TCIOFF = 3
+ TCIOFLUSH = 3
+ TCION = 4
+ TCOFLUSH = 2
+ TCOOFF = 1
+ TCOON = 2
+ TCSADRAIN = 1
+ TCSAFLUSH = 2
+ TCSANOW = 0
+ TCSASOFT = 0x10
+ TIOCFLAG_CDTRCTS = 0x10
+ TIOCFLAG_CLOCAL = 0x02
+ TIOCFLAG_CRTSCTS = 0x04
+ TIOCFLAG_MDMBUF = 0x08
+ TIOCFLAG_SOFTCAR = 0x01
+ TIOCM_CAR = 0100
+ TIOCM_CD = 64
+ TIOCM_CTS = 0040
+ TIOCM_DSR = 0400
+ TIOCM_DTR = 0002
+ TIOCM_LE = 0001
+ TIOCM_RI = 128
+ TIOCM_RNG = 0200
+ TIOCM_RTS = 0004
+ TIOCM_SR = 0020
+ TIOCM_ST = 0010
+ TIOCPKT_DATA = 0x00
+ TIOCPKT_DOSTOP = 0x20
+ TIOCPKT_FLUSHREAD = 0x01
+ TIOCPKT_FLUSHWRITE = 0x02
+ TIOCPKT_IOCTL = 0x40
+ TIOCPKT_NOSTOP = 0x10
+ TIOCPKT_START = 0x08
+ TIOCPKT_STOP = 0x04
+ TOSTOP = 0x00400000
+ TTLINEDNAMELEN = 32
+ TTYDEF_CFLAG = 19200
+ TTYDEF_IFLAG = 11010
+ TTYDEF_LFLAG = 1483
+ TTYDEF_OFLAG = 7
+ TTYDEF_SPEED = 9600
+ TTYDISC = 0
+ UID_MAX = 2147483647
+ VDISCARD = 15
+ VDSUSP = 11
+ VEOF = 0
+ VEOL = 1
+ VEOL2 = 2
+ VERASE = 3
+ VINTR = 8
+ VKILL = 5
+ VLNEXT = 14
+ VMIN = 16
+ VQUIT = 9
+ VREPRINT = 6
+ VSTART = 12
+ VSTATUS = 18
+ VSTOP = 13
+ VSUSP = 10
+ VTIME = 17
+ VWERASE = 4
+ X_AMD64_INT_TYPES_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_NETBSD_SYS_TTYCOM_H_ = 0
+ X_PATH_PTMDEV = "/dev/ptm"
+ X_POSIX_SYS_TTYCOM_H_ = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_IOCCOM_H_ = 0
+ X_SYS_SYSLIMITS_H_ = 0
+ X_SYS_TERMIOS_H_ = 0
+ X_SYS_TTYDEFAULTS_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Special Control Characters
+//
+// Index into c_cc[] character array.
+//
+// Name Subscript Enabled by
+// 7 spare 1
+// 19 spare 2
+
+// Input flags - software input processing
+
+// Output flags - software output processing
+
+// Control flags - hardware control of terminal
+
+// "Local" flags - dumping ground for other state
+//
+// Warning: some flags in this structure begin with
+// the letter "I" and look like they belong in the
+// input flag.
+
+type Tcflag_t = uint32 /* termios.h:188:22 */
+type Cc_t = uint8 /* termios.h:189:23 */
+type Speed_t = uint32 /* termios.h:190:22 */
+
+type Termios = struct {
+ Fc_iflag Tcflag_t
+ Fc_oflag Tcflag_t
+ Fc_cflag Tcflag_t
+ Fc_lflag Tcflag_t
+ Fc_cc [20]Cc_t
+ Fc_ispeed int32
+ Fc_ospeed int32
+} /* termios.h:192:1 */
+
+// Commands passed to tcsetattr() for setting the termios structure.
+
+// Standard speeds
+
+type Pid_t = X__pid_t /* termios.h:265:18 */
+
+// Include tty ioctl's that aren't just for backwards compatibility
+// with the old tty driver. These ioctl definitions were previously
+// in <sys/ioctl.h>. Most of this appears only when _NETBSD_SOURCE
+// is defined, but (at least) struct winsize has been made standard,
+// and needs to be visible here (as well as via the old <sys/ioctl.h>.)
+// $NetBSD: ttycom.h,v 1.21 2017/10/25 06:32:59 kre Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1990, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
+
+// $NetBSD: syslimits.h,v 1.28 2015/08/21 07:19:39 uebayasi Exp $
+
+// Copyright (c) 1988, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)syslimits.h 8.1 (Berkeley) 6/2/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// kept in sync with MAXNAMLEN
+
+// IEEE Std 1003.1c-95, adopted in X/Open CAE Specification Issue 5 Version 2
+
+// X/Open CAE Specification Issue 5 Version 2
+
+// $NetBSD: ioccom.h,v 1.13 2019/05/26 10:21:33 hannken Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1990, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)ioccom.h 8.3 (Berkeley) 1/9/95
+
+// Ioctl's have the command encoded in the lower word, and the size of
+// any in or out parameters in the upper word. The high 3 bits of the
+// upper word are used to encode the in/out status of the parameter.
+//
+// 31 29 28 16 15 8 7 0
+// +---------------------------------------------------------------+
+// | I/O | Parameter Length | Command Group | Command |
+// +---------------------------------------------------------------+
+
+// no parameters
+// copy parameters out
+// copy parameters in
+// copy parameters in and out
+// mask for IN/OUT/VOID
+
+// this should be _IORW, but stdio got there first
+
+// Tty ioctl's except for those supported only for backwards compatibility
+// with the old tty driver.
+
+// Window/terminal size structure. This information is stored by the kernel
+// in order to provide a consistent interface, but is not used by the kernel.
+type Winsize = struct {
+ Fws_row uint16
+ Fws_col uint16
+ Fws_xpixel uint16
+ Fws_ypixel uint16
+} /* ttycom.h:54:1 */
+
+// The following are not exposed when imported via <termios.h>
+// when _POSIX_SOURCE (et.al.) is defined (and hence _NETBSD_SOURCE
+// is not, unless that is added manually.)
+
+// ptmget, for /dev/ptm pty getting ioctl TIOCPTMGET, and for TIOCPTSNAME
+type Ptmget = struct {
+ Fcfd int32
+ Fsfd int32
+ Fcn [1024]int8
+ Fsn [1024]int8
+} /* ttycom.h:74:1 */
+
+// 8-10 compat
+// 15 unused
+// 17-18 compat
+
+// This is the maximum length of a line discipline's name.
+type Linedn_t = [32]int8 /* ttycom.h:111:14 */
+
+// END OF PROTECTED INCLUDE.
+
+// $NetBSD: ttydefaults.h,v 1.16 2008/05/24 14:06:39 yamt Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
+
+// System wide defaults for terminal state.
+
+// Defaults on "first" open.
+
+// Control Character Defaults
+// compat
+
+// PROTECTED INCLUSION ENDS HERE
+
+// #define TTYDEFCHARS to include an array of default control characters.
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/time/capi_darwin_amd64.go b/vendor/modernc.org/libc/time/capi_darwin_amd64.go
index 13c6c2789..4ca486cce 100644
--- a/vendor/modernc.org/libc/time/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/time/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_amd64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_amd64.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_darwin_arm64.go b/vendor/modernc.org/libc/time/capi_darwin_arm64.go
index bbd2ffc37..87addbca6 100644
--- a/vendor/modernc.org/libc/time/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/time/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_arm64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_arm64.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_linux_386.go b/vendor/modernc.org/libc/time/capi_linux_386.go
index d4df52548..a008e6863 100644
--- a/vendor/modernc.org/libc/time/capi_linux_386.go
+++ b/vendor/modernc.org/libc/time/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_386.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_386.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_linux_amd64.go b/vendor/modernc.org/libc/time/capi_linux_amd64.go
index 57b4e5124..8ce1aea1a 100644
--- a/vendor/modernc.org/libc/time/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/time/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_amd64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_amd64.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_linux_arm.go b/vendor/modernc.org/libc/time/capi_linux_arm.go
index db1d8c8b0..fcdd39cd9 100644
--- a/vendor/modernc.org/libc/time/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/time/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_linux_arm64.go b/vendor/modernc.org/libc/time/capi_linux_arm64.go
index cf311a58f..200888b00 100644
--- a/vendor/modernc.org/libc/time/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/time/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm64.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_linux_s390x.go b/vendor/modernc.org/libc/time/capi_linux_s390x.go
index 35b215ebc..4dfacc560 100644
--- a/vendor/modernc.org/libc/time/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/time/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_s390x.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_s390x.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_netbsd_amd64.go b/vendor/modernc.org/libc/time/capi_netbsd_amd64.go
new file mode 100644
index 000000000..077bfef9c
--- /dev/null
+++ b/vendor/modernc.org/libc/time/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_netbsd_amd64.go -pkgname time', DO NOT EDIT.
+
+package time
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/time/capi_windows_386.go b/vendor/modernc.org/libc/time/capi_windows_386.go
index 63022a4d9..e46d8d233 100644
--- a/vendor/modernc.org/libc/time/capi_windows_386.go
+++ b/vendor/modernc.org/libc/time/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_386.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_386.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/capi_windows_amd64.go b/vendor/modernc.org/libc/time/capi_windows_amd64.go
index b4e2a389d..0a330e109 100644
--- a/vendor/modernc.org/libc/time/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/time/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_amd64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time\gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time\time_windows_amd64.go -pkgname time', DO NOT EDIT.
package time
diff --git a/vendor/modernc.org/libc/time/time_darwin_amd64.go b/vendor/modernc.org/libc/time/time_darwin_amd64.go
index 3f2f1cb5b..889417c47 100644
--- a/vendor/modernc.org/libc/time/time_darwin_amd64.go
+++ b/vendor/modernc.org/libc/time/time_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_amd64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_amd64.go -pkgname time', DO NOT EDIT.
package time
@@ -624,8 +624,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -1750,18 +1750,18 @@ type Timespec = struct {
} /* _timespec.h:33:1 */
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:75:1 */
type Clockid_t = uint32 /* time.h:172:3 */
diff --git a/vendor/modernc.org/libc/time/time_darwin_arm64.go b/vendor/modernc.org/libc/time/time_darwin_arm64.go
index da2174cae..1a585f3f3 100644
--- a/vendor/modernc.org/libc/time/time_darwin_arm64.go
+++ b/vendor/modernc.org/libc/time/time_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_arm64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_arm64.go -pkgname time', DO NOT EDIT.
package time
@@ -1131,7 +1131,7 @@ type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
// Evaluate to nothing for compilers that don't support availability.
// Swift compiler version
-// Allows for project-agnostic “epochs” for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
+// Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
// Example:
//
// #if __swift_compiler_version_at_least(800, 2, 20)
@@ -1740,18 +1740,18 @@ type Timespec = struct {
} /* _timespec.h:33:1 */
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:75:1 */
type Clockid_t = uint32 /* time.h:172:3 */
diff --git a/vendor/modernc.org/libc/time/time_freebsd_amd64.go b/vendor/modernc.org/libc/time/time_freebsd_amd64.go
index a58c29f8a..de56597b7 100644
--- a/vendor/modernc.org/libc/time/time_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/time/time_freebsd_amd64.go
@@ -641,8 +641,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -826,18 +826,18 @@ type Pid_t = X__pid_t /* time.h:95:18 */
// These macros are also in sys/time.h.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* time.h:129:1 */
// -
diff --git a/vendor/modernc.org/libc/time/time_linux_386.go b/vendor/modernc.org/libc/time/time_linux_386.go
index 087316129..ed3dcf304 100644
--- a/vendor/modernc.org/libc/time/time_linux_386.go
+++ b/vendor/modernc.org/libc/time/time_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_386.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_386.go -pkgname time', DO NOT EDIT.
package time
@@ -29,6 +29,9 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -40,6 +43,7 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
@@ -77,17 +81,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -102,12 +101,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -122,11 +121,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -141,43 +140,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -189,7 +208,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -211,7 +230,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -226,7 +245,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -235,76 +254,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
@@ -331,7 +377,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -346,7 +392,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -354,7 +400,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -369,7 +415,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -377,7 +423,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -392,7 +438,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -414,7 +460,7 @@ type Tm = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -429,19 +475,52 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -456,7 +535,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -464,7 +543,7 @@ type Timespec = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -479,7 +558,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -487,7 +566,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -502,7 +581,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -523,7 +602,7 @@ type Itimerspec = struct {
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -538,10 +617,10 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -557,7 +636,7 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
diff --git a/vendor/modernc.org/libc/time/time_linux_amd64.go b/vendor/modernc.org/libc/time/time_linux_amd64.go
index af52433a8..4a21d8d1d 100644
--- a/vendor/modernc.org/libc/time/time_linux_amd64.go
+++ b/vendor/modernc.org/libc/time/time_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_amd64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_amd64.go -pkgname time', DO NOT EDIT.
package time
@@ -29,6 +29,9 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -86,17 +89,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -111,12 +109,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -131,11 +129,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -150,45 +148,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -200,7 +217,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -221,7 +238,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -236,7 +253,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -251,78 +268,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
@@ -349,7 +394,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -364,7 +409,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -372,7 +417,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -387,7 +432,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -395,7 +440,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -410,30 +455,30 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -448,19 +493,52 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -475,7 +553,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -483,7 +561,7 @@ type Timespec = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -498,7 +576,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -506,7 +584,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -521,7 +599,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -542,7 +620,7 @@ type Itimerspec = struct {
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -557,10 +635,10 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -576,7 +654,7 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
diff --git a/vendor/modernc.org/libc/time/time_linux_arm.go b/vendor/modernc.org/libc/time/time_linux_arm.go
index a2ccd1a7b..053d7ac78 100644
--- a/vendor/modernc.org/libc/time/time_linux_arm.go
+++ b/vendor/modernc.org/libc/time/time_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm.go -pkgname time', DO NOT EDIT.
package time
@@ -29,6 +29,9 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -76,17 +79,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -101,12 +99,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -121,11 +119,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -140,9 +138,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -157,41 +155,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -203,7 +238,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -225,7 +260,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -240,83 +275,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
@@ -343,7 +405,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -358,7 +420,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -366,7 +428,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -381,7 +443,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -389,7 +451,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -404,7 +466,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -426,7 +488,7 @@ type Tm = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -441,19 +503,52 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// ARM has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -468,7 +563,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -476,7 +571,7 @@ type Timespec = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -491,7 +586,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -499,7 +594,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -514,7 +609,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -535,7 +630,7 @@ type Itimerspec = struct {
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -550,10 +645,10 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -569,7 +664,7 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -588,4 +683,4 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/time/time_linux_arm64.go b/vendor/modernc.org/libc/time/time_linux_arm64.go
index bee691d41..2ec360d66 100644
--- a/vendor/modernc.org/libc/time/time_linux_arm64.go
+++ b/vendor/modernc.org/libc/time/time_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm64.go -pkgname time', DO NOT EDIT.
package time
@@ -29,6 +29,9 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -86,17 +89,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -111,12 +109,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -131,11 +129,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -150,11 +148,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -169,41 +167,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -215,7 +252,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -236,7 +273,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -252,7 +289,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -265,78 +302,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
@@ -363,7 +427,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -378,7 +442,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -386,7 +450,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -401,7 +465,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -409,7 +473,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -424,30 +488,30 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -462,19 +526,52 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// AArch64 has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -489,7 +586,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -497,7 +594,7 @@ type Timespec = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -512,7 +609,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -520,7 +617,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -535,7 +632,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -556,7 +653,7 @@ type Itimerspec = struct {
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -571,10 +668,10 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -590,7 +687,7 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -609,4 +706,4 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/time/time_linux_s390x.go b/vendor/modernc.org/libc/time/time_linux_s390x.go
index b991fd37e..d8093d385 100644
--- a/vendor/modernc.org/libc/time/time_linux_s390x.go
+++ b/vendor/modernc.org/libc/time/time_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_s390x.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_s390x.go -pkgname time', DO NOT EDIT.
package time
@@ -29,6 +29,9 @@ const (
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -86,17 +89,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -111,12 +109,12 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -131,11 +129,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -150,43 +148,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -198,7 +218,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -219,7 +239,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -234,7 +254,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -249,78 +269,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
@@ -347,7 +395,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -362,7 +410,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -370,7 +418,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -385,7 +433,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -393,7 +441,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -408,30 +456,30 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -446,19 +494,52 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// S/390 is big-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -473,7 +554,7 @@ type Timespec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -481,7 +562,7 @@ type Timespec = struct {
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -496,7 +577,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -504,7 +585,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -519,7 +600,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -540,7 +621,7 @@ type Itimerspec = struct {
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -555,10 +636,10 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -574,7 +655,7 @@ type Pid_t = X__pid_t /* time.h:54:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -593,4 +674,4 @@ type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/time/time_netbsd_amd64.go b/vendor/modernc.org/libc/time/time_netbsd_amd64.go
new file mode 100644
index 000000000..9d5c549b0
--- /dev/null
+++ b/vendor/modernc.org/libc/time/time_netbsd_amd64.go
@@ -0,0 +1,2340 @@
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_netbsd_amd64.go -pkgname time', DO NOT EDIT.
+
+package time
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ CLOCKS_PER_SEC = 100
+ CLOCK_MONOTONIC = 3
+ CLOCK_PROCESS_CPUTIME_ID = 0x40000000
+ CLOCK_PROF = 2
+ CLOCK_REALTIME = 0
+ CLOCK_THREAD_CPUTIME_ID = 0x20000000
+ CLOCK_VIRTUAL = 1
+ FD_SETSIZE = 256
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ ITIMER_MONOTONIC = 3
+ ITIMER_PROF = 2
+ ITIMER_REAL = 0
+ ITIMER_VIRTUAL = 1
+ LITTLE_ENDIAN = 1234
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ TIMER_ABSTIME = 0x1
+ TIMER_RELTIME = 0x0
+ TIME_UTC = 1
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_PDP_ENDIAN = 3412
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_IDTYPE_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_SYS_SELECT_H_ = 0
+ X_SYS_SIGTYPES_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TIMESPEC_H_ = 0
+ X_SYS_TIME_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_TIME_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+)
+
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+const ( /* idtype.h:41:1: */
+ P_MYID = -1 // Me/my process group
+ P_ALL = 0 // All processes.
+ P_PID = 1 // A process identifier.
+ P_LWPID = 2 // An LWP identifier.
+ P_PPID = 3 // A parent process identifier.
+ P_PGID = 4 // A process group identifier.
+ P_SID = 5 // A session identifier.
+ P_CID = 6 // A scheduling class identifier.
+ P_UID = 7 // A user identifier.
+ P_GID = 8 // A group identifier.
+ P_TASKID = 9 // A task identifier.
+ P_PROJID = 10 // A project identifier.
+ P_POOLID = 11 // A pool identifier.
+ P_ZONEID = 12 // A zone identifier.
+ P_CTID = 13 // A (process) contract identifier.
+ P_CPUID = 14 // CPU identifier.
+ P_PSETID = 15 // Processor set identifier.
+ X_P_MAXIDTYPE = 2147483647
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, December 22, 1999.
+// Public domain.
+
+type Clock_t = uint32 /* time.h:49:23 */
+
+type Time_t = X__int64_t /* time.h:54:22 */
+
+type Clockid_t = int32 /* time.h:64:25 */
+
+type Timer_t = int32 /* time.h:69:23 */
+
+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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
+} /* time.h:75:1 */
+
+// ISO/IEC 9899:201x 7.27.1/3 Components of time
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Timespec = struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+} /* timespec.h:47:1 */
+
+// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */
+
+// Structure returned by gettimeofday(2) system call,
+// and used in other calls.
+type Timeval = struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+} /* time.h:44:1 */
+
+// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
+
+// Copyright (c) 1982, 1986, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)time.h 8.5 (Berkeley) 5/4/95
+//
+// Extracted by Kamil Rytarowski from:
+// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+
+// Note: timezone is obsolete. All timezone handling is now in
+// userland. Its just here for back compatibility.
+type Timezone = struct {
+ Ftz_minuteswest int32
+ Ftz_dsttime int32
+} /* time.h:65:1 */
+
+// Operations on timevals.
+
+// hide bintime for _STANDALONE because this header is used for hpcboot.exe,
+// which is built with compilers which don't recognize LL suffix.
+// http://mail-index.NetBSD.org/tech-userlevel/2008/02/27/msg000181.html
+type Bintime = struct {
+ Fsec Time_t
+ Ffrac Uint64_t
+} /* time.h:102:1 */
+
+// Operations on timespecs.
+
+// Names of the interval timers, and structure
+// defining a timer setting.
+// NB: Must match the CLOCK_ constants below.
+
+type Itimerval = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_usec Suseconds_t
+ F__ccgo_pad1 [4]byte
+ }
+} /* time.h:280:1 */
+
+// Structure defined by POSIX.1b to be like a itimerval, but with
+// timespecs. Used in the timer_*() system calls.
+type Itimerspec = struct {
+ Fit_interval struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+ Fit_value struct {
+ Ftv_sec Time_t
+ Ftv_nsec int64
+ }
+} /* time.h:289:1 */
+
+// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)select.h 8.2 (Berkeley) 1/4/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
+
+// Copyright (c) 1982, 1986, 1989, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)signal.h 8.4 (Berkeley) 5/4/95
+
+// This header file defines various signal-related types. We also keep
+// the macros to manipulate sigset_t here, to encapsulate knowledge of
+// its internals.
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
+
+// Macro for manipulating signal masks.
+
+type Sigaltstack = struct {
+ Fss_sp uintptr
+ Fss_size Size_t
+ Fss_flags int32
+ F__ccgo_pad1 [4]byte
+} /* sigtypes.h:108:9 */
+
+// Macro for manipulating signal masks.
+
+type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
+// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $
+
+// -
+// Copyright (c) 2016 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Christos Zoulas.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// Using the solaris constants, some of them are not applicable to us
+// Do not re-order the list, or add elements in the middle as this will
+// break the ABI of the system calls using this. We set a high private
+// maximum so that new values can be added in the future without
+// changing the width of the type.
+type Idtype_t = int32 /* idtype.h:60:3 */
+
+type Locale_t = uintptr /* time.h:188:25 */
+
+type Timezone_t = uintptr /* time.h:198:24 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/time/time_windows_386.go b/vendor/modernc.org/libc/time/time_windows_386.go
index 0e55feea8..8fa115a54 100644
--- a/vendor/modernc.org/libc/time/time_windows_386.go
+++ b/vendor/modernc.org/libc/time/time_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_386.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_386.go -pkgname time', DO NOT EDIT.
package time
@@ -38,9 +38,7 @@ const (
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
TIMER_ABSTIME = 1
@@ -66,9 +64,12 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
@@ -150,6 +151,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -170,6 +176,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -210,26 +222,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -255,29 +269,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
type Clock_t = int32 /* time.h:60:16 */
@@ -293,9 +307,9 @@ type Tm = struct {
Ftm_isdst int32
} /* time.h:97:3 */
-var Xdaylight int32 /* time.h:279:22: */
-var Xtimezone int32 /* time.h:280:23: */
-var Xtzname [2]uintptr /* time.h:281:23: */
+var Xdaylight int32 /* time.h:256:22: */
+var Xtimezone int32 /* time.h:257:23: */
+var Xtzname [2]uintptr /* time.h:258:23: */
// *
// This file has no copyright assigned and is placed in the Public Domain.
@@ -310,7 +324,7 @@ type Timeval = struct {
type Timezone = struct {
Ftz_minuteswest int32
Ftz_dsttime int32
-} /* time.h:289:1 */
+} /* time.h:266:1 */
// Adding timespec definition.
// *
@@ -324,33 +338,33 @@ type Timezone = struct {
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X__timeb32 = struct {
- Ftime X__time32_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- _ [2]byte
+ 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
- _ [2]byte
+ 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
- _ [2]byte
+ Ftime X__time64_t
+ Fmillitm uint16
+ Ftimezone int16
+ Fdstflag int16
+ F__ccgo_pad1 [2]byte
} /* timeb.h:69:3 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
-} /* timeb.h:90:1 */
+} /* timeb.h:91:1 */
type Itimerspec = struct {
Fit_interval struct {
@@ -361,7 +375,7 @@ type Itimerspec = struct {
Ftv_sec Time_t
Ftv_nsec int32
}
-} /* timeb.h:95:1 */
+} /* timeb.h:96: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
diff --git a/vendor/modernc.org/libc/time/time_windows_amd64.go b/vendor/modernc.org/libc/time/time_windows_amd64.go
index 0836f896a..33f225d75 100644
--- a/vendor/modernc.org/libc/time/time_windows_amd64.go
+++ b/vendor/modernc.org/libc/time/time_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_amd64.go -pkgname time', DO NOT EDIT.
+// Code generated by 'ccgo time\gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time\time_windows_amd64.go -pkgname time', DO NOT EDIT.
package time
@@ -90,6 +90,7 @@ const (
X_POSIX_TIMERS = 200809
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
@@ -305,9 +306,10 @@ type Tm = struct {
Ftm_isdst int32
} /* time.h:97:3 */
-var Xdaylight int32 /* time.h:279:22: */
-var Xtimezone int32 /* time.h:280:23: */
-var Xtzname [2]uintptr /* time.h:281:23: */
+var Xdaylight int32 /* time.h:278:22: */
+
+var Xtimezone int32 /* time.h:281:23: */
+var Xtzname [2]uintptr /* time.h:282:23: */
// *
// This file has no copyright assigned and is placed in the Public Domain.
@@ -322,7 +324,7 @@ type Timeval = struct {
type Timezone = struct {
Ftz_minuteswest int32
Ftz_dsttime int32
-} /* time.h:289:1 */
+} /* time.h:290:1 */
// Adding timespec definition.
// *
@@ -336,45 +338,45 @@ type Timezone = struct {
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X__timeb32 = struct {
- Ftime X__time32_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- _ [2]byte
+ 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
- _ [2]byte
+ 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
- _ [2]byte
+ Ftime X__time64_t
+ Fmillitm uint16
+ Ftimezone int16
+ Fdstflag int16
+ F__ccgo_pad1 [2]byte
} /* timeb.h:69:3 */
type Timespec = struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
} /* timeb.h:90:1 */
type Itimerspec = struct {
Fit_interval struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
Fit_value struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
} /* timeb.h:95:1 */
diff --git a/vendor/modernc.org/libc/unistd/capi_darwin_amd64.go b/vendor/modernc.org/libc/unistd/capi_darwin_amd64.go
index 52f940692..045c6a831 100644
--- a/vendor/modernc.org/libc/unistd/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/unistd/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_darwin_amd64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_darwin_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_darwin_arm64.go b/vendor/modernc.org/libc/unistd/capi_darwin_arm64.go
index 59979e9ed..ec0a268a8 100644
--- a/vendor/modernc.org/libc/unistd/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/unistd/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_darwin_arm64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_darwin_arm64.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_linux_386.go b/vendor/modernc.org/libc/unistd/capi_linux_386.go
index eac75ecea..22a388b06 100644
--- a/vendor/modernc.org/libc/unistd/capi_linux_386.go
+++ b/vendor/modernc.org/libc/unistd/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_386.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_386.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_linux_amd64.go b/vendor/modernc.org/libc/unistd/capi_linux_amd64.go
index ddee2e9af..aaf139a99 100644
--- a/vendor/modernc.org/libc/unistd/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/unistd/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_amd64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_linux_arm.go b/vendor/modernc.org/libc/unistd/capi_linux_arm.go
index 1c02583e7..fd575bdbe 100644
--- a/vendor/modernc.org/libc/unistd/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/unistd/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_arm.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_arm.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_linux_arm64.go b/vendor/modernc.org/libc/unistd/capi_linux_arm64.go
index 394ed4ced..5476869a9 100644
--- a/vendor/modernc.org/libc/unistd/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/unistd/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_arm64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_arm64.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_linux_s390x.go b/vendor/modernc.org/libc/unistd/capi_linux_s390x.go
index 7e434f3a1..fdb35cd68 100644
--- a/vendor/modernc.org/libc/unistd/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/unistd/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_s390x.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_s390x.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_netbsd_amd64.go b/vendor/modernc.org/libc/unistd/capi_netbsd_amd64.go
new file mode 100644
index 000000000..783a630bc
--- /dev/null
+++ b/vendor/modernc.org/libc/unistd/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo unistd/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 unistd/unistd_netbsd_amd64.go -pkgname unistd', DO NOT EDIT.
+
+package unistd
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/unistd/capi_windows_386.go b/vendor/modernc.org/libc/unistd/capi_windows_386.go
index 3331ae9a7..51753d901 100644
--- a/vendor/modernc.org/libc/unistd/capi_windows_386.go
+++ b/vendor/modernc.org/libc/unistd/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_windows_386.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_windows_386.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/capi_windows_amd64.go b/vendor/modernc.org/libc/unistd/capi_windows_amd64.go
index 2c49667f2..b73bb4df1 100644
--- a/vendor/modernc.org/libc/unistd/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/unistd/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_windows_amd64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd\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 unistd\unistd_windows_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
diff --git a/vendor/modernc.org/libc/unistd/unistd_darwin_amd64.go b/vendor/modernc.org/libc/unistd/unistd_darwin_amd64.go
index f7ec92fd9..bd12870e2 100644
--- a/vendor/modernc.org/libc/unistd/unistd_darwin_amd64.go
+++ b/vendor/modernc.org/libc/unistd/unistd_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_darwin_amd64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_darwin_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -950,8 +950,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -3140,9 +3140,9 @@ type Timespec = struct {
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
type Timeval = struct {
- Ftv_sec X__darwin_time_t
- Ftv_usec X__darwin_suseconds_t
- _ [4]byte
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
} /* _timeval.h:34:1 */
// The time_t and suseconds_t types shall be defined as described in
diff --git a/vendor/modernc.org/libc/unistd/unistd_darwin_arm64.go b/vendor/modernc.org/libc/unistd/unistd_darwin_arm64.go
index 9bc2f99d4..518903389 100644
--- a/vendor/modernc.org/libc/unistd/unistd_darwin_arm64.go
+++ b/vendor/modernc.org/libc/unistd/unistd_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_darwin_arm64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_darwin_arm64.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -3107,9 +3107,9 @@ type Timespec = struct {
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
type Timeval = struct {
- Ftv_sec X__darwin_time_t
- Ftv_usec X__darwin_suseconds_t
- _ [4]byte
+ Ftv_sec X__darwin_time_t
+ Ftv_usec X__darwin_suseconds_t
+ F__ccgo_pad1 [4]byte
} /* _timeval.h:34:1 */
// The time_t and suseconds_t types shall be defined as described in
diff --git a/vendor/modernc.org/libc/unistd/unistd_freebsd_amd64.go b/vendor/modernc.org/libc/unistd/unistd_freebsd_amd64.go
index 40c398922..475937c3e 100644
--- a/vendor/modernc.org/libc/unistd/unistd_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/unistd/unistd_freebsd_amd64.go
@@ -1082,8 +1082,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
@@ -1093,9 +1093,9 @@ type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */
type Pthread_once = struct {
- Fstate int32
- _ [4]byte
- Fmutex Pthread_mutex_t
+ Fstate int32
+ F__ccgo_pad1 [4]byte
+ Fmutex Pthread_mutex_t
} /* _pthreadtypes.h:52:1 */
// Primitive system data type definitions required by P1003.1c.
diff --git a/vendor/modernc.org/libc/unistd/unistd_linux_386.go b/vendor/modernc.org/libc/unistd/unistd_linux_386.go
index 23bcb999d..ffc5faca0 100644
--- a/vendor/modernc.org/libc/unistd/unistd_linux_386.go
+++ b/vendor/modernc.org/libc/unistd/unistd_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_386.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_386.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -34,6 +34,7 @@ const (
X_OK = 1
X_ATFILE_SOURCE = 1
X_BITS_POSIX_OPT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -44,6 +45,7 @@ const (
X_GCC_SIZE_T = 0
X_GETOPT_CORE_H = 1
X_GETOPT_POSIX_H = 1
+ X_ILP32 = 1
X_LFS64_ASYNCHRONOUS_IO = 1
X_LFS64_LARGEFILE = 1
X_LFS64_STDIO = 1
@@ -149,7 +151,7 @@ const (
// the `_SC_*' symbols for the NAME argument to `sysconf';
// and the `_CS_*' symbols for the NAME argument to `confstr'.
// `sysconf', `pathconf', and `confstr' NAME values. Generic version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -164,7 +166,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Values for the NAME argument to `pathconf' and `fpathconf'.
const ( /* confname.h:24:1: */
@@ -522,7 +524,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -537,11 +539,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.10 Symbolic Constants <unistd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -556,7 +558,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -564,6 +566,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -684,6 +687,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -706,9 +711,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -723,7 +741,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -736,7 +754,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -751,7 +769,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -866,7 +884,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -887,10 +905,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -905,7 +927,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1066,7 +1088,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// Define POSIX options for Linux.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1081,13 +1103,16 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// Job control is supported.
// Processes have a saved set-user-ID and a saved set-group-ID.
-// Priority scheduling is supported.
+// Priority scheduling is not supported with the correct semantics,
+// but GNU/Linux applications expect that the corresponding interfaces
+// are available, even though the semantics do not meet the POSIX
+// requirements. See glibc bug 14829.
// Synchronizing file data is supported.
@@ -1190,7 +1215,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Typed memory objects are not available.
// Get the environment definitions from Unix98.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1205,7 +1230,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1249,7 +1274,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// All functions that are not declared anywhere else.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1264,11 +1289,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1283,43 +1308,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1331,7 +1376,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1353,7 +1398,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1368,7 +1413,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1377,76 +1422,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Ssize_t = X__ssize_t /* unistd.h:220:19 */
@@ -1458,11 +1530,6 @@ type Ssize_t = X__ssize_t /* unistd.h:220:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -1483,4 +1550,23 @@ type Socklen_t = X__socklen_t /* unistd.h:274:21 */
// Define some macros helping to catch buffer overflows.
+// System-specific extensions.
+// System-specific extensions of <unistd.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/unistd/unistd_linux_amd64.go b/vendor/modernc.org/libc/unistd/unistd_linux_amd64.go
index c67f7d553..b302d1925 100644
--- a/vendor/modernc.org/libc/unistd/unistd_linux_amd64.go
+++ b/vendor/modernc.org/libc/unistd/unistd_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_amd64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -34,6 +34,7 @@ const (
X_OK = 1
X_ATFILE_SOURCE = 1
X_BITS_POSIX_OPT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -149,7 +150,7 @@ const (
// the `_SC_*' symbols for the NAME argument to `sysconf';
// and the `_CS_*' symbols for the NAME argument to `confstr'.
// `sysconf', `pathconf', and `confstr' NAME values. Generic version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -164,7 +165,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Values for the NAME argument to `pathconf' and `fpathconf'.
const ( /* confname.h:24:1: */
@@ -531,7 +532,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -546,11 +547,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.10 Symbolic Constants <unistd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -565,7 +566,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -573,6 +574,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -693,6 +695,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -715,9 +719,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -732,7 +749,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -745,7 +762,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -760,7 +777,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -875,7 +892,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -896,11 +913,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -915,7 +936,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -1076,7 +1097,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// Define POSIX options for Linux.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1091,13 +1112,16 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// Job control is supported.
// Processes have a saved set-user-ID and a saved set-group-ID.
-// Priority scheduling is supported.
+// Priority scheduling is not supported with the correct semantics,
+// but GNU/Linux applications expect that the corresponding interfaces
+// are available, even though the semantics do not meet the POSIX
+// requirements. See glibc bug 14829.
// Synchronizing file data is supported.
@@ -1200,7 +1224,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Typed memory objects are not available.
// Get the environment definitions from Unix98.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1215,7 +1239,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1258,7 +1282,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// All functions that are not declared anywhere else.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1273,11 +1297,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1292,45 +1316,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1342,7 +1385,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1363,7 +1406,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1378,7 +1421,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1393,78 +1436,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Ssize_t = X__ssize_t /* unistd.h:220:19 */
@@ -1476,11 +1547,6 @@ type Ssize_t = X__ssize_t /* unistd.h:220:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -1501,4 +1567,23 @@ type Socklen_t = X__socklen_t /* unistd.h:274:21 */
// Define some macros helping to catch buffer overflows.
+// System-specific extensions.
+// System-specific extensions of <unistd.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/unistd/unistd_linux_arm.go b/vendor/modernc.org/libc/unistd/unistd_linux_arm.go
index b455ea9d7..c9ad971b6 100644
--- a/vendor/modernc.org/libc/unistd/unistd_linux_arm.go
+++ b/vendor/modernc.org/libc/unistd/unistd_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_arm.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_arm.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -34,6 +34,7 @@ const (
X_OK = 1
X_ATFILE_SOURCE = 1
X_BITS_POSIX_OPT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -154,7 +155,7 @@ const (
// the `_SC_*' symbols for the NAME argument to `sysconf';
// and the `_CS_*' symbols for the NAME argument to `confstr'.
// `sysconf', `pathconf', and `confstr' NAME values. Generic version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -169,7 +170,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Values for the NAME argument to `pathconf' and `fpathconf'.
const ( /* confname.h:24:1: */
@@ -527,7 +528,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -542,11 +543,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.10 Symbolic Constants <unistd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -561,7 +562,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -569,6 +570,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -689,6 +691,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -711,9 +715,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -728,7 +745,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -741,7 +758,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -756,7 +773,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -871,7 +888,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -892,7 +909,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -907,10 +928,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -925,7 +946,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -1102,7 +1123,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// Define POSIX options for Linux.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1117,13 +1138,16 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// Job control is supported.
// Processes have a saved set-user-ID and a saved set-group-ID.
-// Priority scheduling is supported.
+// Priority scheduling is not supported with the correct semantics,
+// but GNU/Linux applications expect that the corresponding interfaces
+// are available, even though the semantics do not meet the POSIX
+// requirements. See glibc bug 14829.
// Synchronizing file data is supported.
@@ -1226,7 +1250,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Typed memory objects are not available.
// Get the environment definitions from Unix98.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1241,9 +1265,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1258,7 +1282,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header should define the following symbols under the described
// situations. A value `1' means that the model is always supported,
@@ -1292,7 +1316,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// All functions that are not declared anywhere else.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1307,11 +1331,46 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1326,9 +1385,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1343,41 +1402,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1389,7 +1450,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1411,7 +1472,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1426,83 +1487,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type Ssize_t = X__ssize_t /* unistd.h:220:19 */
@@ -1514,11 +1602,6 @@ type Ssize_t = X__ssize_t /* unistd.h:220:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -1539,4 +1622,23 @@ type Socklen_t = X__socklen_t /* unistd.h:274:21 */
// Define some macros helping to catch buffer overflows.
-var _ int8 /* gen.c:2:13: */
+// System-specific extensions.
+// System-specific extensions of <unistd.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/unistd/unistd_linux_arm64.go b/vendor/modernc.org/libc/unistd/unistd_linux_arm64.go
index e054170ff..30e9e66bb 100644
--- a/vendor/modernc.org/libc/unistd/unistd_linux_arm64.go
+++ b/vendor/modernc.org/libc/unistd/unistd_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_arm64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_arm64.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -34,6 +34,7 @@ const (
X_OK = 1
X_ATFILE_SOURCE = 1
X_BITS_POSIX_OPT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -155,7 +156,7 @@ const (
// the `_SC_*' symbols for the NAME argument to `sysconf';
// and the `_CS_*' symbols for the NAME argument to `confstr'.
// `sysconf', `pathconf', and `confstr' NAME values. Generic version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -170,7 +171,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Values for the NAME argument to `pathconf' and `fpathconf'.
const ( /* confname.h:24:1: */
@@ -537,7 +538,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -552,11 +553,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.10 Symbolic Constants <unistd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -571,7 +572,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -579,6 +580,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -699,6 +701,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -721,9 +725,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -738,7 +755,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -751,7 +768,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -766,7 +783,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -881,7 +898,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -902,9 +919,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -919,10 +940,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -937,7 +958,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -971,7 +992,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -986,7 +1007,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -1117,7 +1138,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// Define POSIX options for Linux.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1132,13 +1153,16 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// Job control is supported.
// Processes have a saved set-user-ID and a saved set-group-ID.
-// Priority scheduling is supported.
+// Priority scheduling is not supported with the correct semantics,
+// but GNU/Linux applications expect that the corresponding interfaces
+// are available, even though the semantics do not meet the POSIX
+// requirements. See glibc bug 14829.
// Synchronizing file data is supported.
@@ -1241,7 +1265,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Typed memory objects are not available.
// Get the environment definitions from Unix98.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1256,11 +1280,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1275,7 +1299,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header should define the following symbols under the described
// situations. A value `1' means that the model is always supported,
@@ -1305,7 +1329,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// All functions that are not declared anywhere else.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1320,11 +1344,48 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1339,11 +1400,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1358,41 +1419,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1404,7 +1467,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1425,7 +1488,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -1441,7 +1504,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1454,78 +1517,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Ssize_t = X__ssize_t /* unistd.h:220:19 */
@@ -1537,11 +1627,6 @@ type Ssize_t = X__ssize_t /* unistd.h:220:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -1562,4 +1647,23 @@ type Socklen_t = X__socklen_t /* unistd.h:274:21 */
// Define some macros helping to catch buffer overflows.
-var _ int8 /* gen.c:2:13: */
+// System-specific extensions.
+// System-specific extensions of <unistd.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/unistd/unistd_linux_s390x.go b/vendor/modernc.org/libc/unistd/unistd_linux_s390x.go
index d01bb1a13..b32fa9aa7 100644
--- a/vendor/modernc.org/libc/unistd/unistd_linux_s390x.go
+++ b/vendor/modernc.org/libc/unistd/unistd_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_linux_s390x.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_linux_s390x.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -34,6 +34,7 @@ const (
X_OK = 1
X_ATFILE_SOURCE = 1
X_BITS_POSIX_OPT_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BSD_SIZE_T_ = 0
@@ -149,7 +150,7 @@ const (
// the `_SC_*' symbols for the NAME argument to `sysconf';
// and the `_CS_*' symbols for the NAME argument to `confstr'.
// `sysconf', `pathconf', and `confstr' NAME values. Generic version.
-// Copyright (C) 1993-2018 Free Software Foundation, Inc.
+// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -164,7 +165,7 @@ const (
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Values for the NAME argument to `pathconf' and `fpathconf'.
const ( /* confname.h:24:1: */
@@ -531,7 +532,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -546,11 +547,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.10 Symbolic Constants <unistd.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -565,7 +566,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -573,6 +574,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -693,6 +695,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -715,9 +719,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -732,7 +749,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -745,7 +762,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -760,7 +777,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -875,7 +892,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -896,10 +913,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -914,7 +935,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -1074,7 +1095,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// Define POSIX options for Linux.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1089,13 +1110,16 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
-// not, see <http://www.gnu.org/licenses/>.
+// not, see <https://www.gnu.org/licenses/>.
// Job control is supported.
// Processes have a saved set-user-ID and a saved set-group-ID.
-// Priority scheduling is supported.
+// Priority scheduling is not supported with the correct semantics,
+// but GNU/Linux applications expect that the corresponding interfaces
+// are available, even though the semantics do not meet the POSIX
+// requirements. See glibc bug 14829.
// Synchronizing file data is supported.
@@ -1198,7 +1222,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Typed memory objects are not available.
// Get the environment definitions from Unix98.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1213,7 +1237,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1254,7 +1278,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// All functions that are not declared anywhere else.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1269,11 +1293,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1288,43 +1312,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -1336,7 +1382,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -1357,7 +1403,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1372,7 +1418,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -1387,78 +1433,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type Ssize_t = X__ssize_t /* unistd.h:220:19 */
@@ -1470,11 +1544,6 @@ type Ssize_t = X__ssize_t /* unistd.h:220:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// The Single Unix specification says that some more types are
@@ -1495,4 +1564,23 @@ type Socklen_t = X__socklen_t /* unistd.h:274:21 */
// Define some macros helping to catch buffer overflows.
-var _ int8 /* gen.c:2:13: */
+// System-specific extensions.
+// System-specific extensions of <unistd.h>, Linux version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/unistd/unistd_netbsd_amd64.go b/vendor/modernc.org/libc/unistd/unistd_netbsd_amd64.go
new file mode 100644
index 000000000..52e82bd61
--- /dev/null
+++ b/vendor/modernc.org/libc/unistd/unistd_netbsd_amd64.go
@@ -0,0 +1,1804 @@
+// Code generated by 'ccgo unistd/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 unistd/unistd_netbsd_amd64.go -pkgname unistd', DO NOT EDIT.
+
+package unistd
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ BIG_ENDIAN = 4321
+ BYTE_ORDER = 1234
+ FDATASYNC = 0x0010
+ FDISKSYNC = 0x0040
+ FD_SETSIZE = 256
+ FFILESYNC = 0x0020
+ F_LOCK = 1
+ F_OK = 0
+ F_TEST = 3
+ F_TLOCK = 2
+ F_ULOCK = 0
+ GETPASS_7BIT = 0x080
+ GETPASS_BUF_LIMIT = 0x004
+ GETPASS_ECHO = 0x020
+ GETPASS_ECHO_NL = 0x400
+ GETPASS_ECHO_STAR = 0x040
+ GETPASS_FAIL_EOF = 0x002
+ GETPASS_FORCE_LOWER = 0x100
+ GETPASS_FORCE_UPPER = 0x200
+ GETPASS_NEED_TTY = 0x001
+ GETPASS_NO_BEEP = 0x010
+ GETPASS_NO_SIGNAL = 0x008
+ INT16_MAX = 32767
+ INT16_MIN = -32768
+ INT32_MAX = 2147483647
+ INT32_MIN = -2147483648
+ INT64_MAX = 9223372036854775807
+ INT64_MIN = -9223372036854775808
+ INT8_MAX = 127
+ INT8_MIN = -128
+ INTMAX_MAX = 9223372036854775807
+ INTMAX_MIN = -9223372036854775808
+ INTPTR_MAX = 9223372036854775807
+ INTPTR_MIN = -9223372036854775808
+ INT_FAST16_MAX = 2147483647
+ INT_FAST16_MIN = -2147483648
+ INT_FAST32_MAX = 2147483647
+ INT_FAST32_MIN = -2147483648
+ INT_FAST64_MAX = 9223372036854775807
+ INT_FAST64_MIN = -9223372036854775808
+ INT_FAST8_MAX = 2147483647
+ INT_FAST8_MIN = -2147483648
+ INT_LEAST16_MAX = 32767
+ INT_LEAST16_MIN = -32768
+ INT_LEAST32_MAX = 2147483647
+ INT_LEAST32_MIN = -2147483648
+ INT_LEAST64_MAX = 9223372036854775807
+ INT_LEAST64_MIN = -9223372036854775808
+ INT_LEAST8_MAX = 127
+ INT_LEAST8_MIN = -128
+ LITTLE_ENDIAN = 1234
+ L_INCR = 1
+ L_SET = 0
+ L_XTND = 2
+ NBBY = 8
+ NFDBITS = 32
+ NODEVMAJOR = -1
+ PDP_ENDIAN = 3412
+ PTRDIFF_MAX = 9223372036854775807
+ PTRDIFF_MIN = -9223372036854775808
+ R_OK = 0x04
+ SEEK_CUR = 1
+ SEEK_END = 2
+ SEEK_SET = 0
+ SIG_ATOMIC_MAX = 2147483647
+ SIG_ATOMIC_MIN = -2147483648
+ SIZE_MAX = 18446744073709551615
+ STDERR_FILENO = 2
+ STDIN_FILENO = 0
+ STDOUT_FILENO = 1
+ UINT16_MAX = 65535
+ UINT32_MAX = 4294967295
+ UINT64_MAX = 18446744073709551615
+ UINT8_MAX = 255
+ UINTMAX_MAX = 18446744073709551615
+ UINTPTR_MAX = 18446744073709551615
+ UINT_FAST16_MAX = 4294967295
+ UINT_FAST32_MAX = 4294967295
+ UINT_FAST64_MAX = 18446744073709551615
+ UINT_FAST8_MAX = 4294967295
+ UINT_LEAST16_MAX = 65535
+ UINT_LEAST32_MAX = 4294967295
+ UINT_LEAST64_MAX = 18446744073709551615
+ UINT_LEAST8_MAX = 255
+ WCHAR_MAX = 0x7fffffff
+ WCHAR_MIN = -2147483648
+ WINT_MAX = 0x7fffffff
+ WINT_MIN = -2147483648
+ W_OK = 0x02
+ X_OK = 0x01
+ X_AMD64_BYTE_SWAP_H_ = 0
+ X_AMD64_INT_CONST_H_ = 0
+ X_AMD64_INT_LIMITS_H_ = 0
+ X_AMD64_INT_MWGWTYPES_H_ = 0
+ X_AMD64_INT_TYPES_H_ = 0
+ X_AMD64_WCHAR_LIMITS_H_ = 0
+ X_BIG_ENDIAN = 4321
+ X_BSD_INT16_T_ = 0
+ X_BSD_INT32_T_ = 0
+ X_BSD_INT64_T_ = 0
+ X_BSD_INT8_T_ = 0
+ X_BSD_INTPTR_T_ = 0
+ X_BSD_UINT16_T_ = 0
+ X_BSD_UINT32_T_ = 0
+ X_BSD_UINT64_T_ = 0
+ X_BSD_UINT8_T_ = 0
+ X_BSD_UINTPTR_T_ = 0
+ X_BYTE_ORDER = 1234
+ X_CS_PATH = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LIB_PTHREAD_TYPES_H = 0
+ X_LITTLE_ENDIAN = 1234
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_O_SC_CLK_TCK = 3
+ X_PC_2_SYMLINKS = 13
+ X_PC_ACL_EXTENDED = 14
+ X_PC_CHOWN_RESTRICTED = 7
+ X_PC_FILESIZEBITS = 11
+ X_PC_LINK_MAX = 1
+ X_PC_MAX_CANON = 2
+ X_PC_MAX_INPUT = 3
+ X_PC_MIN_HOLE_SIZE = 15
+ X_PC_NAME_MAX = 4
+ X_PC_NO_TRUNC = 8
+ X_PC_PATH_MAX = 5
+ X_PC_PIPE_BUF = 6
+ X_PC_SYMLINK_MAX = 12
+ X_PC_SYNC_IO = 10
+ X_PC_VDISABLE = 9
+ X_PDP_ENDIAN = 3412
+ X_POSIX2_C_BIND = 200112
+ X_POSIX2_VERSION = 200112
+ X_POSIX_ASYNCHRONOUS_IO = 200112
+ X_POSIX_BARRIERS = 200112
+ X_POSIX_CHOWN_RESTRICTED = 1
+ X_POSIX_CLOCK_SELECTION = -1
+ X_POSIX_CPUTIME = 200112
+ X_POSIX_FSYNC = 1
+ X_POSIX_IPV6 = 0
+ X_POSIX_JOB_CONTROL = 1
+ X_POSIX_MAPPED_FILES = 1
+ X_POSIX_MEMLOCK = 1
+ X_POSIX_MEMLOCK_RANGE = 1
+ X_POSIX_MEMORY_PROTECTION = 1
+ X_POSIX_MESSAGE_PASSING = 200112
+ X_POSIX_MONOTONIC_CLOCK = 200112
+ X_POSIX_NO_TRUNC = 1
+ X_POSIX_PRIORITIZED_IO = -1
+ X_POSIX_PRIORITY_SCHEDULING = 200112
+ X_POSIX_RAW_SOCKETS = 200112
+ X_POSIX_READER_WRITER_LOCKS = 200112
+ X_POSIX_REGEXP = 1
+ X_POSIX_SEMAPHORES = 0
+ X_POSIX_SHARED_MEMORY_OBJECTS = 0
+ X_POSIX_SHELL = 1
+ X_POSIX_SPAWN = 200809
+ X_POSIX_SPIN_LOCKS = 200112
+ X_POSIX_SYNCHRONIZED_IO = 1
+ X_POSIX_THREADS = 200112
+ X_POSIX_THREAD_ATTR_STACKADDR = 200112
+ X_POSIX_THREAD_ATTR_STACKSIZE = 200112
+ X_POSIX_THREAD_CPUTIME = 200112
+ X_POSIX_THREAD_PRIO_PROTECT = 200112
+ X_POSIX_THREAD_SAFE_FUNCTIONS = 200112
+ X_POSIX_TIMERS = 200112
+ X_POSIX_VERSION = 200112
+ X_PT_BARRIERATTR_DEAD = 0xDEAD0808
+ X_PT_BARRIERATTR_MAGIC = 0x88880808
+ X_PT_BARRIER_DEAD = 0xDEAD0008
+ X_PT_BARRIER_MAGIC = 0x88880008
+ X_PT_CONDATTR_DEAD = 0xDEAD0006
+ X_PT_CONDATTR_MAGIC = 0x66660006
+ X_PT_COND_DEAD = 0xDEAD0005
+ X_PT_COND_MAGIC = 0x55550005
+ X_PT_MUTEXATTR_DEAD = 0xDEAD0004
+ X_PT_MUTEXATTR_MAGIC = 0x44440004
+ X_PT_MUTEX_DEAD = 0xDEAD0003
+ X_PT_MUTEX_MAGIC = 0x33330003
+ X_PT_RWLOCKATTR_DEAD = 0xDEAD0909
+ X_PT_RWLOCKATTR_MAGIC = 0x99990909
+ X_PT_RWLOCK_DEAD = 0xDEAD0009
+ X_PT_RWLOCK_MAGIC = 0x99990009
+ X_PT_SPINLOCK_DEAD = 0xDEAD0007
+ X_PT_SPINLOCK_MAGIC = 0x77770007
+ X_PT_SPINLOCK_PSHARED = 0x00000001
+ X_QUAD_HIGHWORD = 1
+ X_QUAD_LOWWORD = 0
+ X_SC_2_CHAR_TERM = 20
+ X_SC_2_C_BIND = 18
+ X_SC_2_C_DEV = 19
+ X_SC_2_FORT_DEV = 21
+ X_SC_2_FORT_RUN = 22
+ X_SC_2_LOCALEDEF = 23
+ X_SC_2_PBS = 80
+ X_SC_2_PBS_ACCOUNTING = 81
+ X_SC_2_PBS_CHECKPOINT = 82
+ X_SC_2_PBS_LOCATE = 83
+ X_SC_2_PBS_MESSAGE = 84
+ X_SC_2_PBS_TRACK = 85
+ X_SC_2_SW_DEV = 24
+ X_SC_2_UPE = 25
+ X_SC_2_VERSION = 17
+ X_SC_AIO_LISTIO_MAX = 51
+ X_SC_AIO_MAX = 52
+ X_SC_ARG_MAX = 1
+ X_SC_ASYNCHRONOUS_IO = 50
+ X_SC_ATEXIT_MAX = 40
+ X_SC_BARRIERS = 43
+ X_SC_BC_BASE_MAX = 9
+ X_SC_BC_DIM_MAX = 10
+ X_SC_BC_SCALE_MAX = 11
+ X_SC_BC_STRING_MAX = 12
+ X_SC_CHILD_MAX = 2
+ X_SC_CLK_TCK = 39
+ X_SC_CLOCK_SELECTION = 49
+ X_SC_COLL_WEIGHTS_MAX = 13
+ X_SC_CPUTIME = 90
+ X_SC_DELAYTIMER_MAX = 92
+ X_SC_EXPR_NEST_MAX = 14
+ X_SC_FSYNC = 29
+ X_SC_GETGR_R_SIZE_MAX = 47
+ X_SC_GETPW_R_SIZE_MAX = 48
+ X_SC_HOST_NAME_MAX = 69
+ X_SC_IOV_MAX = 32
+ X_SC_JOB_CONTROL = 6
+ X_SC_LINE_MAX = 15
+ X_SC_LOGIN_NAME_MAX = 37
+ X_SC_MAPPED_FILES = 33
+ X_SC_MEMLOCK = 34
+ X_SC_MEMLOCK_RANGE = 35
+ X_SC_MEMORY_PROTECTION = 36
+ X_SC_MESSAGE_PASSING = 53
+ X_SC_MONOTONIC_CLOCK = 38
+ X_SC_MQ_OPEN_MAX = 54
+ X_SC_MQ_PRIO_MAX = 55
+ X_SC_NGROUPS_MAX = 4
+ X_SC_NPROCESSORS_CONF = 1001
+ X_SC_NPROCESSORS_ONLN = 1002
+ X_SC_OPEN_MAX = 5
+ X_SC_PAGESIZE = 28
+ X_SC_PAGE_SIZE = 28
+ X_SC_PASS_MAX = 70
+ X_SC_PHYS_PAGES = 121
+ X_SC_PRIORITY_SCHEDULING = 56
+ X_SC_READER_WRITER_LOCKS = 46
+ X_SC_REALTIME_SIGNALS = 94
+ X_SC_REGEXP = 71
+ X_SC_RE_DUP_MAX = 16
+ X_SC_SAVED_IDS = 7
+ X_SC_SCHED_PRI_MAX = 2003
+ X_SC_SCHED_PRI_MIN = 2002
+ X_SC_SCHED_RT_TS = 2001
+ X_SC_SEMAPHORES = 42
+ X_SC_SEM_NSEMS_MAX = 89
+ X_SC_SHARED_MEMORY_OBJECTS = 87
+ X_SC_SHELL = 72
+ X_SC_SIGQUEUE_MAX = 93
+ X_SC_SPAWN = 86
+ X_SC_SPIN_LOCKS = 45
+ X_SC_STREAM_MAX = 26
+ X_SC_SYMLOOP_MAX = 73
+ X_SC_SYNCHRONIZED_IO = 31
+ X_SC_THREADS = 41
+ X_SC_THREAD_ATTR_STACKADDR = 61
+ X_SC_THREAD_ATTR_STACKSIZE = 62
+ X_SC_THREAD_CPUTIME = 91
+ X_SC_THREAD_DESTRUCTOR_ITERATIONS = 57
+ X_SC_THREAD_KEYS_MAX = 58
+ X_SC_THREAD_PRIORITY_SCHEDULING = 63
+ X_SC_THREAD_PRIO_INHERIT = 64
+ X_SC_THREAD_PRIO_PROTECT = 65
+ X_SC_THREAD_PROCESS_SHARED = 66
+ X_SC_THREAD_SAFE_FUNCTIONS = 67
+ X_SC_THREAD_STACK_MIN = 59
+ X_SC_THREAD_THREADS_MAX = 60
+ X_SC_TIMERS = 44
+ X_SC_TIMER_MAX = 88
+ X_SC_TTY_NAME_MAX = 68
+ X_SC_TZNAME_MAX = 27
+ X_SC_V6_ILP32_OFF32 = 74
+ X_SC_V6_ILP32_OFFBIG = 75
+ X_SC_V6_LP64_OFF64 = 76
+ X_SC_V6_LPBIG_OFFBIG = 77
+ X_SC_VERSION = 8
+ X_SC_XOPEN_SHM = 30
+ X_SIZE_T = 0
+ X_SYS_ANSI_H_ = 0
+ X_SYS_BSWAP_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_LIMITS_H_ = 0
+ X_SYS_COMMON_INT_MWGWTYPES_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_SYS_ENDIAN_H_ = 0
+ X_SYS_FD_SET_H_ = 0
+ X_SYS_NULL_H_ = 0
+ X_SYS_STDINT_H_ = 0
+ X_SYS_TYPES_H_ = 0
+ X_SYS_UNISTD_H_ = 0
+ X_UNISTD_H_ = 0
+ X_X86_64_BSWAP_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+ X_X86_64_TYPES_H_ = 0
+ X_XOPEN_SHM = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Machine type dependent parameters.
+// $NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type X__register_t = int64 /* types.h:68:19 */
+type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
+
+// __cpu_simple_lock_t used to be a full word.
+
+// The amd64 does not have strict alignment requirements.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Int8_t = X__int8_t /* types.h:54:18 */
+
+type Uint8_t = X__uint8_t /* types.h:59:19 */
+
+type Int16_t = X__int16_t /* types.h:64:19 */
+
+type Uint16_t = X__uint16_t /* types.h:69:20 */
+
+type Int32_t = X__int32_t /* types.h:74:19 */
+
+type Uint32_t = X__uint32_t /* types.h:79:20 */
+
+type Int64_t = X__int64_t /* types.h:84:19 */
+
+type Uint64_t = X__uint64_t /* types.h:89:20 */
+
+type U_int8_t = Uint8_t /* types.h:93:18 */
+type U_int16_t = Uint16_t /* types.h:94:18 */
+type U_int32_t = Uint32_t /* types.h:95:18 */
+type U_int64_t = Uint64_t /* types.h:96:18 */
+
+// $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
+
+// $NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
+
+// Copyright (c) 1987, 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)endian.h 8.1 (Berkeley) 6/11/93
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// Definitions for byte order, according to byte significance from low
+// address to high.
+
+// C-family endian-ness definitions
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 1982, 1986, 1991, 1993, 1994
+// The Regents of the University of California. All rights reserved.
+// (c) UNIX System Laboratories, Inc.
+// All or some portions of this file are derived from material licensed
+// to the University of California by American Telephone and Telegraph
+// Co. or Unix System Laboratories, Inc. and are reproduced herein with
+// the permission of UNIX System Laboratories, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)types.h 8.4 (Berkeley) 1/21/94
+
+type In_addr_t = X__in_addr_t /* endian.h:58:21 */
+
+type In_port_t = X__in_port_t /* endian.h:63:21 */
+
+// $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
+
+// Written by Manuel Bouyer. Public domain
+
+// $NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
+
+// -
+// Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+type Intptr_t = X__intptr_t /* stdint.h:79:20 */
+
+type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
+
+// $NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2001 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.2 Minimum-width integer types
+
+type Int_least8_t = int8 /* common_int_mwgwtypes.h:45:32 */
+type Uint_least8_t = uint8 /* common_int_mwgwtypes.h:46:32 */
+type Int_least16_t = int16 /* common_int_mwgwtypes.h:47:32 */
+type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
+type Int_least32_t = int32 /* common_int_mwgwtypes.h:49:32 */
+type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
+type Int_least64_t = int64 /* common_int_mwgwtypes.h:51:32 */
+type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
+
+// 7.18.1.3 Fastest minimum-width integer types
+type Int_fast8_t = int32 /* common_int_mwgwtypes.h:55:32 */
+type Uint_fast8_t = uint32 /* common_int_mwgwtypes.h:56:32 */
+type Int_fast16_t = int32 /* common_int_mwgwtypes.h:57:32 */
+type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
+type Int_fast32_t = int32 /* common_int_mwgwtypes.h:59:32 */
+type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
+type Int_fast64_t = int64 /* common_int_mwgwtypes.h:61:32 */
+type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
+
+// 7.18.1.5 Greatest-width integer types
+
+type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */
+type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
+
+type U_char = uint8 /* types.h:101:23 */
+type U_short = uint16 /* types.h:102:24 */
+type U_int = uint32 /* types.h:103:22 */
+type U_long = uint64 /* types.h:104:23 */
+
+type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility
+type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
+type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility
+type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility
+
+type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
+type Quad_t = Int64_t /* types.h:113:18 */
+type Qaddr_t = uintptr /* types.h:114:16 */
+
+// The types longlong_t and u_longlong_t exist for use with the
+// Sun-derived XDR routines involving these types, and their usage
+// in other contexts is discouraged. Further note that these types
+// may not be equivalent to "long long" and "unsigned long long",
+// they are only guaranteed to be signed and unsigned 64-bit types
+// respectively. Portable programs that need 64-bit types should use
+// the C99 types int64_t and uint64_t instead.
+
+type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR
+type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
+
+type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count
+type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
+
+type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
+
+type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
+
+// We don't and shouldn't use caddr_t in the kernel anymore
+type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
+
+type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
+
+type Dev_t = Uint64_t /* types.h:157:18 */ // device number
+type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
+
+type Gid_t = X__gid_t /* types.h:161:18 */ // group id
+
+type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id
+type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
+type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC)
+
+type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
+
+type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
+
+type Off_t = X__off_t /* types.h:177:18 */ // file offset
+
+type Pid_t = X__pid_t /* types.h:182:18 */ // process id
+type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
+type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
+type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
+type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
+
+type Uid_t = X__uid_t /* types.h:191:18 */ // user id
+
+type Mqd_t = int32 /* types.h:195:14 */
+
+type Cpuid_t = uint64 /* types.h:197:23 */
+
+type Psetid_t = int32 /* types.h:199:14 */
+
+type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
+
+// Major, minor numbers, dev_t's.
+type X__devmajor_t = Int32_t /* types.h:255:17 */
+type X__devminor_t = Int32_t /* types.h:255:31 */
+
+type Clock_t = uint32 /* types.h:268:24 */
+
+type Ssize_t = int64 /* types.h:284:24 */
+
+type Time_t = X__int64_t /* types.h:289:23 */
+
+type Clockid_t = int32 /* types.h:294:26 */
+
+type Timer_t = int32 /* types.h:299:24 */
+
+type Suseconds_t = int32 /* types.h:304:27 */
+
+type Useconds_t = uint32 /* types.h:309:26 */
+
+// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
+
+// -
+// Copyright (c) 1992, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 8.4 (Berkeley) 1/21/94
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// Implementation dependent defines, hidden from user space.
+// POSIX does not specify them.
+
+type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
+
+// 32 = 2 ^ 5
+
+// Select uses bit fields of file descriptors. These macros manipulate
+// such bit fields. Note: FD_SETSIZE may be defined by the user.
+
+type Fd_set = Fd_set1 /* fd_set.h:68:3 */
+
+// Expose our internals if we are not required to hide them.
+
+type Kauth_cred_t = uintptr /* types.h:318:27 */
+
+type Pri_t = int32 /* types.h:320:13 */
+
+// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
+
+// -
+// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Nathan J. Williams.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
+// POSIX spinlock object.
+//
+// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
+// This does not work for volatile types. Since C++ does not touch the guts
+// of those types, we do not include volatile in the C++ definitions.
+type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
+type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */
+
+// Copied from PTQ_HEAD in pthread_queue.h
+
+type Pthread_queue_struct_t = struct {
+ Fptqh_first uintptr
+ Fptqh_last uintptr
+} /* pthread_types.h:61:1 */
+
+type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
+type X__pthread_attr_st = struct {
+ Fpta_magic uint32
+ Fpta_flags int32
+ Fpta_private uintptr
+} /* pthread_types.h:65:1 */
+
+type X__pthread_mutex_st = struct {
+ Fptm_magic uint32
+ Fptm_errorcheck X__pthread_spin_t
+ Fptm_pad1 [3]Uint8_t
+ F__8 struct{ Fptm_ceiling uint8 }
+ Fptm_pad2 [3]Uint8_t
+ F__ccgo_pad1 [4]byte
+ Fptm_owner Pthread_t
+ Fptm_waiters uintptr
+ Fptm_recursed uint32
+ F__ccgo_pad2 [4]byte
+ Fptm_spare2 uintptr
+} /* pthread_types.h:66:1 */
+
+type X__pthread_mutexattr_st = struct {
+ Fptma_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptma_private uintptr
+} /* pthread_types.h:67:1 */
+
+type X__pthread_cond_st = struct {
+ Fptc_magic uint32
+ Fptc_lock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptc_waiters Pthread_queue_t
+ Fptc_mutex uintptr
+ Fptc_private uintptr
+} /* pthread_types.h:68:1 */
+
+type X__pthread_condattr_st = struct {
+ Fptca_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptca_private uintptr
+} /* pthread_types.h:69:1 */
+
+type X__pthread_rwlock_st = struct {
+ Fptr_magic uint32
+ Fptr_interlock X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptr_rblocked Pthread_queue_t
+ Fptr_wblocked Pthread_queue_t
+ Fptr_nreaders uint32
+ F__ccgo_pad2 [4]byte
+ Fptr_owner Pthread_t
+ Fptr_private uintptr
+} /* pthread_types.h:71:1 */
+
+type X__pthread_rwlockattr_st = struct {
+ Fptra_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptra_private uintptr
+} /* pthread_types.h:72:1 */
+
+type X__pthread_barrier_st = struct {
+ Fptb_magic uint32
+ Fptb_lock Pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fptb_waiters Pthread_queue_t
+ Fptb_initcount uint32
+ Fptb_curcount uint32
+ Fptb_generation uint32
+ F__ccgo_pad2 [4]byte
+ Fptb_private uintptr
+} /* pthread_types.h:73:1 */
+
+type X__pthread_barrierattr_st = struct {
+ Fptba_magic uint32
+ F__ccgo_pad1 [4]byte
+ Fptba_private uintptr
+} /* pthread_types.h:74:1 */
+
+type Pthread_t = uintptr /* pthread_types.h:76:29 */
+type Pthread_attr_t = X__pthread_attr_st /* pthread_types.h:77:34 */
+type Pthread_mutex_t = X__pthread_mutex_st /* pthread_types.h:78:35 */
+type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
+type Pthread_cond_t = X__pthread_cond_st /* pthread_types.h:80:34 */
+type Pthread_condattr_t = X__pthread_condattr_st /* pthread_types.h:81:38 */
+type X__pthread_once_st = struct {
+ Fpto_mutex Pthread_mutex_t
+ Fpto_done int32
+ F__ccgo_pad1 [4]byte
+} /* pthread_types.h:82:9 */
+
+type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
+type X__pthread_spinlock_st = struct {
+ Fpts_magic uint32
+ Fpts_spin X__pthread_spin_t
+ F__ccgo_pad1 [3]byte
+ Fpts_flags int32
+} /* pthread_types.h:83:9 */
+
+type Pthread_spinlock_t = X__pthread_spinlock_st /* pthread_types.h:83:38 */
+type Pthread_rwlock_t = X__pthread_rwlock_st /* pthread_types.h:84:36 */
+type Pthread_rwlockattr_t = X__pthread_rwlockattr_st /* pthread_types.h:85:40 */
+type Pthread_barrier_t = X__pthread_barrier_st /* pthread_types.h:86:37 */
+type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
+type Pthread_key_t = int32 /* pthread_types.h:88:13 */ // getsubopt(3) external variable
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/unistd/unistd_windows_386.go b/vendor/modernc.org/libc/unistd/unistd_windows_386.go
index 381070977..86a9fd0d5 100644
--- a/vendor/modernc.org/libc/unistd/unistd_windows_386.go
+++ b/vendor/modernc.org/libc/unistd/unistd_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_windows_386.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd/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 unistd/unistd_windows_386.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -34,9 +34,7 @@ const (
FTRUNCATE_DEFINED = 0
F_OK = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
OLD_P_OVERLAY = 2
@@ -88,6 +86,7 @@ const (
X_CRT_SWAB_DEFINED = 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
@@ -98,6 +97,8 @@ const (
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FINDDATA_T_DEFINED = 0
X_FSIZE_T_DEFINED = 0
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CORECRT_STARTUP = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
@@ -130,7 +131,6 @@ const (
X_POSIX_SEMAPHORES = 200112
X_POSIX_SPIN_LOCKS = 200112
X_POSIX_THREADS = 200112
- X_POSIX_THREAD_SAFE_FUNCTIONS = 200112
X_POSIX_TIMEOUTS = 200112
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
@@ -210,6 +210,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -230,6 +235,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -270,26 +281,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -315,29 +328,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
type X_fsize_t = uint32 /* io.h:29:25 */
type X_finddata32_t = struct {
@@ -356,12 +369,12 @@ type X_finddata32i64_t = struct {
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -371,13 +384,13 @@ type X_finddata64i32_t = struct {
type X__finddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
@@ -400,18 +413,18 @@ type X_wfinddata32i64_t = struct {
type X_wfinddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -486,7 +499,10 @@ type Itimerspec = struct {
type X_sigset_t = uint32 /* types.h:106:23 */
-type X_tls_callback_type = uintptr /* process.h:58:16 */
+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:61:16 */
//
// Copyright (c) 2011-2016 mingw-w64 project
@@ -605,23 +621,6 @@ type X_tls_callback_type = uintptr /* process.h:58:16 */
//
// are present.
-// _SC_THREAD_SAFE_FUNCTIONS
-// Affected functions are
-//
-// readdir_r(),
-// getgrgid_r(),
-// getgrnam_r(),
-// getpwnam_r(),
-// getpwuid_r(),
-// flockfile(),
-// ftrylockfile(),
-// funlockfile(),
-// getc_unlocked(),
-// getchar_unlocked(),
-// putc_unlocked(),
-// putchar_unlocked(),
-// strerror_r(),
-
// _SC_TIMEOUTS
// The functions
//
diff --git a/vendor/modernc.org/libc/unistd/unistd_windows_amd64.go b/vendor/modernc.org/libc/unistd/unistd_windows_amd64.go
index db687ded8..254b38bbd 100644
--- a/vendor/modernc.org/libc/unistd/unistd_windows_amd64.go
+++ b/vendor/modernc.org/libc/unistd/unistd_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo unistd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_windows_amd64.go -pkgname unistd', DO NOT EDIT.
+// Code generated by 'ccgo unistd\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 unistd\unistd_windows_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
@@ -141,6 +141,7 @@ const (
X_P_NOWAITO = 3
X_P_OVERLAY = 2
X_P_WAIT = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIGSET_T_ = 0
@@ -368,12 +369,12 @@ type X_finddata32i64_t = struct {
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -383,13 +384,13 @@ type X_finddata64i32_t = struct {
type X__finddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
@@ -412,18 +413,18 @@ type X_wfinddata32i64_t = struct {
type X_wfinddata64i32_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
- _ [4]byte
+ F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
@@ -481,28 +482,26 @@ type Mode_t = X_mode_t /* types.h:77:17 */
type Useconds_t = uint32 /* types.h:84:22 */
type Timespec = struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ 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
- _ [4]byte
+ Ftv_sec Time_t
+ Ftv_nsec int32
+ F__ccgo_pad1 [4]byte
}
Fit_value struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- _ [4]byte
+ 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_tls_callback_type = uintptr /* process.h:58:16 */
-
//
// Copyright (c) 2011-2016 mingw-w64 project
//
diff --git a/vendor/modernc.org/libc/utime/capi_darwin_amd64.go b/vendor/modernc.org/libc/utime/capi_darwin_amd64.go
index 45890f6e3..f4971287d 100644
--- a/vendor/modernc.org/libc/utime/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/utime/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_darwin_amd64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_darwin_amd64.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_darwin_arm64.go b/vendor/modernc.org/libc/utime/capi_darwin_arm64.go
index c17b0f6cd..c46b0510d 100644
--- a/vendor/modernc.org/libc/utime/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/utime/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_darwin_arm64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_darwin_arm64.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_linux_386.go b/vendor/modernc.org/libc/utime/capi_linux_386.go
index d824e4dc4..cd94b447e 100644
--- a/vendor/modernc.org/libc/utime/capi_linux_386.go
+++ b/vendor/modernc.org/libc/utime/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_386.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_386.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_linux_amd64.go b/vendor/modernc.org/libc/utime/capi_linux_amd64.go
index 8cb60e83c..381f6bcc2 100644
--- a/vendor/modernc.org/libc/utime/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/utime/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_amd64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_amd64.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_linux_arm.go b/vendor/modernc.org/libc/utime/capi_linux_arm.go
index ef21e740f..2bb2f7e4f 100644
--- a/vendor/modernc.org/libc/utime/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/utime/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_arm.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_arm.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_linux_arm64.go b/vendor/modernc.org/libc/utime/capi_linux_arm64.go
index 07fde99bc..c9c417de8 100644
--- a/vendor/modernc.org/libc/utime/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/utime/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_arm64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_arm64.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_linux_s390x.go b/vendor/modernc.org/libc/utime/capi_linux_s390x.go
index 7d4ab1c1a..4d6513ab4 100644
--- a/vendor/modernc.org/libc/utime/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/utime/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_s390x.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_s390x.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_netbsd_amd64.go b/vendor/modernc.org/libc/utime/capi_netbsd_amd64.go
new file mode 100644
index 000000000..bddece8e4
--- /dev/null
+++ b/vendor/modernc.org/libc/utime/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo utime/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 utime/utime_netbsd_amd64.go -pkgname utime', DO NOT EDIT.
+
+package utime
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/utime/capi_windows_386.go b/vendor/modernc.org/libc/utime/capi_windows_386.go
index af9c50975..6b156a0c3 100644
--- a/vendor/modernc.org/libc/utime/capi_windows_386.go
+++ b/vendor/modernc.org/libc/utime/capi_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_windows_386.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_windows_386.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/capi_windows_amd64.go b/vendor/modernc.org/libc/utime/capi_windows_amd64.go
index 9a7f65377..01667d3ff 100644
--- a/vendor/modernc.org/libc/utime/capi_windows_amd64.go
+++ b/vendor/modernc.org/libc/utime/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_windows_amd64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime\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 utime\utime_windows_amd64.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/utime_darwin_amd64.go b/vendor/modernc.org/libc/utime/utime_darwin_amd64.go
index 6620a90bb..6a6367807 100644
--- a/vendor/modernc.org/libc/utime/utime_darwin_amd64.go
+++ b/vendor/modernc.org/libc/utime/utime_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_darwin_amd64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_darwin_amd64.go -pkgname utime', DO NOT EDIT.
package utime
@@ -605,8 +605,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
diff --git a/vendor/modernc.org/libc/utime/utime_darwin_arm64.go b/vendor/modernc.org/libc/utime/utime_darwin_arm64.go
index 4c3956965..bb56532f6 100644
--- a/vendor/modernc.org/libc/utime/utime_darwin_arm64.go
+++ b/vendor/modernc.org/libc/utime/utime_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_darwin_arm64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_darwin_arm64.go -pkgname utime', DO NOT EDIT.
package utime
diff --git a/vendor/modernc.org/libc/utime/utime_freebsd_amd64.go b/vendor/modernc.org/libc/utime/utime_freebsd_amd64.go
index 46ba2616c..f00879171 100644
--- a/vendor/modernc.org/libc/utime/utime_freebsd_amd64.go
+++ b/vendor/modernc.org/libc/utime/utime_freebsd_amd64.go
@@ -578,8 +578,8 @@ type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
diff --git a/vendor/modernc.org/libc/utime/utime_linux_386.go b/vendor/modernc.org/libc/utime/utime_linux_386.go
index f03a403bf..3eb9961f4 100644
--- a/vendor/modernc.org/libc/utime/utime_linux_386.go
+++ b/vendor/modernc.org/libc/utime/utime_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_386.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_386.go -pkgname utime', DO NOT EDIT.
package utime
@@ -16,11 +16,13 @@ var _ unsafe.Pointer
const (
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_STDC_PREDEF_H = 1
@@ -40,7 +42,7 @@ type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -55,11 +57,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -74,7 +76,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -82,6 +84,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -202,6 +205,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -224,9 +229,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -241,7 +259,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -254,7 +272,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -269,7 +287,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -384,7 +402,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -405,10 +423,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -423,7 +445,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -461,7 +483,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -476,11 +498,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -495,43 +517,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -543,7 +585,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -565,7 +607,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -580,7 +622,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -589,79 +631,106 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -676,7 +745,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
diff --git a/vendor/modernc.org/libc/utime/utime_linux_amd64.go b/vendor/modernc.org/libc/utime/utime_linux_amd64.go
index 142db19f5..049de2305 100644
--- a/vendor/modernc.org/libc/utime/utime_linux_amd64.go
+++ b/vendor/modernc.org/libc/utime/utime_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_amd64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_amd64.go -pkgname utime', DO NOT EDIT.
package utime
@@ -16,6 +16,7 @@ var _ unsafe.Pointer
const (
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -49,7 +50,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -64,11 +65,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -83,7 +84,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -91,6 +92,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -211,6 +213,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -233,9 +237,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -250,7 +267,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -278,7 +295,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -393,7 +410,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -414,11 +431,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -433,7 +454,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -471,7 +492,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -486,11 +507,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -505,45 +526,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -555,7 +595,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -576,7 +616,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -591,7 +631,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -606,81 +646,109 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -695,7 +763,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
diff --git a/vendor/modernc.org/libc/utime/utime_linux_arm.go b/vendor/modernc.org/libc/utime/utime_linux_arm.go
index 5d780a933..67a93eb57 100644
--- a/vendor/modernc.org/libc/utime/utime_linux_arm.go
+++ b/vendor/modernc.org/libc/utime/utime_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_arm.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_arm.go -pkgname utime', DO NOT EDIT.
package utime
@@ -16,6 +16,7 @@ var _ unsafe.Pointer
const (
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -39,7 +40,7 @@ type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -54,11 +55,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -73,7 +74,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -81,6 +82,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -201,6 +203,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -223,9 +227,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -240,7 +257,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -253,7 +270,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -268,7 +285,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -383,7 +400,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -404,7 +421,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -419,10 +440,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -437,7 +458,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -491,7 +512,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -506,11 +527,46 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -525,9 +581,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -542,41 +598,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -588,7 +646,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -610,7 +668,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -625,86 +683,113 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -719,7 +804,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -732,4 +817,4 @@ type Utimbuf = struct {
Fmodtime X__time_t
} /* utime.h:36:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/utime/utime_linux_arm64.go b/vendor/modernc.org/libc/utime/utime_linux_arm64.go
index ac3f9c1f9..6ac91f2bb 100644
--- a/vendor/modernc.org/libc/utime/utime_linux_arm64.go
+++ b/vendor/modernc.org/libc/utime/utime_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_arm64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_arm64.go -pkgname utime', DO NOT EDIT.
package utime
@@ -16,6 +16,7 @@ var _ unsafe.Pointer
const (
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -49,7 +50,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -64,11 +65,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -83,7 +84,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -91,6 +92,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -211,6 +213,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -233,9 +237,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -250,7 +267,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -278,7 +295,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -393,7 +410,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -414,9 +431,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -431,10 +452,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -449,7 +470,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -483,7 +504,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -498,7 +519,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -506,7 +527,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -521,11 +542,48 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -540,11 +598,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -559,41 +617,43 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -605,7 +665,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -626,7 +686,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -642,7 +702,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -655,81 +715,108 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -744,7 +831,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -757,4 +844,4 @@ type Utimbuf = struct {
Fmodtime X__time_t
} /* utime.h:36:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/utime/utime_linux_s390x.go b/vendor/modernc.org/libc/utime/utime_linux_s390x.go
index 7458f7ccc..24dca5867 100644
--- a/vendor/modernc.org/libc/utime/utime_linux_s390x.go
+++ b/vendor/modernc.org/libc/utime/utime_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_linux_s390x.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_linux_s390x.go -pkgname utime', DO NOT EDIT.
package utime
@@ -16,6 +16,7 @@ var _ unsafe.Pointer
const (
X_ATFILE_SOURCE = 1
+ X_BITS_TIME64_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_DEFAULT_SOURCE = 1
@@ -49,7 +50,7 @@ type X__uint128_t = struct {
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -64,11 +65,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -83,7 +84,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -91,6 +92,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -211,6 +213,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -233,9 +237,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -250,7 +267,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -263,7 +280,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -278,7 +295,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -393,7 +410,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -414,10 +431,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -432,7 +453,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -469,7 +490,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -484,11 +505,31 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -503,43 +544,45 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -551,7 +594,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -572,7 +615,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -587,7 +630,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -602,81 +645,109 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -691,7 +762,7 @@ type X__sig_atomic_t = int32 /* types.h:212:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -704,4 +775,4 @@ type Utimbuf = struct {
Fmodtime X__time_t
} /* utime.h:36:1 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/utime/utime_netbsd_amd64.go b/vendor/modernc.org/libc/utime/utime_netbsd_amd64.go
new file mode 100644
index 000000000..56559238a
--- /dev/null
+++ b/vendor/modernc.org/libc/utime/utime_netbsd_amd64.go
@@ -0,0 +1,144 @@
+// Code generated by 'ccgo utime/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 utime/utime_netbsd_amd64.go -pkgname utime', DO NOT EDIT.
+
+package utime
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ X_AMD64_INT_TYPES_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_UTIME_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type Time_t = X__int64_t /* utime.h:40:22 */
+
+type Utimbuf = struct {
+ Factime Time_t
+ Fmodtime Time_t
+} /* utime.h:44:1 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/utime/utime_windows_386.go b/vendor/modernc.org/libc/utime/utime_windows_386.go
index 102c883a4..4fb4cfc03 100644
--- a/vendor/modernc.org/libc/utime/utime_windows_386.go
+++ b/vendor/modernc.org/libc/utime/utime_windows_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_windows_386.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime/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 utime/utime_windows_386.go -pkgname utime', DO NOT EDIT.
package utime
@@ -32,9 +32,7 @@ const (
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
- MINGW_DDRAW_VERSION = 7
MINGW_HAS_DDK_H = 1
- MINGW_HAS_DDRAW_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
UNALIGNED = 0
@@ -56,9 +54,12 @@ const (
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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
@@ -131,6 +132,11 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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
@@ -151,6 +157,12 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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.
@@ -191,26 +203,28 @@ type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// 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 = int32 /* crtdefs.h:47:13 */
+type Ssize_t = int32 /* corecrt.h:52:13 */
-type Rsize_t = Size_t /* crtdefs.h:52:16 */
+type Rsize_t = Size_t /* corecrt.h:57:16 */
-type Intptr_t = int32 /* crtdefs.h:64:13 */
+type Intptr_t = int32 /* corecrt.h:69:13 */
-type Uintptr_t = uint32 /* crtdefs.h:77:22 */
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
-type Wint_t = uint16 /* crtdefs.h:106:24 */
-type Wctype_t = uint16 /* crtdefs.h:107:24 */
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
-type Errno_t = int32 /* crtdefs.h:113:13 */
+type Errno_t = int32 /* corecrt.h:118:13 */
-type X__time32_t = int32 /* crtdefs.h:118:14 */
+type X__time32_t = int32 /* corecrt.h:123:14 */
-type X__time64_t = int64 /* crtdefs.h:123:35 */
+type X__time64_t = int64 /* corecrt.h:128:35 */
-type Time_t = X__time32_t /* crtdefs.h:136:20 */
+type Time_t = X__time32_t /* corecrt.h:141:20 */
type Threadlocaleinfostruct = struct {
Frefcount int32
@@ -236,29 +250,29 @@ type Threadlocaleinfostruct = struct {
Fpclmap uintptr
Fpcumap uintptr
Flc_time_curr uintptr
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
-type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
-} /* crtdefs.h:428:9 */
+} /* corecrt.h:441:9 */
-type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
-type X_locale_t = uintptr /* crtdefs.h:431:19 */
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
-} /* crtdefs.h:422:1 */
+} /* corecrt.h:435:1 */
-type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
-type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
-type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
type X_utimbuf = struct {
Factime Time_t
diff --git a/vendor/modernc.org/libc/utime/utime_windows_amd64.go b/vendor/modernc.org/libc/utime/utime_windows_amd64.go
index d08214197..b572d0a9d 100644
--- a/vendor/modernc.org/libc/utime/utime_windows_amd64.go
+++ b/vendor/modernc.org/libc/utime/utime_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_windows_amd64.go -pkgname utime', DO NOT EDIT.
+// Code generated by 'ccgo utime\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 utime\utime_windows_amd64.go -pkgname utime', DO NOT EDIT.
package utime
@@ -75,6 +75,7 @@ const (
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
+ X_REENTRANT = 1
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_darwin_amd64.go b/vendor/modernc.org/libc/uuid/uuid/capi_darwin_amd64.go
index 20bfad1d6..caed84eea 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_darwin_amd64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_darwin_amd64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_darwin_amd64.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_darwin_arm64.go b/vendor/modernc.org/libc/uuid/uuid/capi_darwin_arm64.go
index cdc40459f..3c9d01350 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_darwin_arm64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_darwin_arm64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_darwin_arm64.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_linux_386.go b/vendor/modernc.org/libc/uuid/uuid/capi_linux_386.go
index 95e035a09..d663f55d5 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_linux_386.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_386.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_386.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_linux_amd64.go b/vendor/modernc.org/libc/uuid/uuid/capi_linux_amd64.go
index c2014741e..1439e9a19 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_linux_amd64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_amd64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_amd64.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm.go b/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm.go
index 7274a3aa3..ade9414ed 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_arm.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_arm.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm64.go b/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm64.go
index 514b53ac3..8fee6f780 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_arm64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_arm64.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/capi_linux_s390x.go b/vendor/modernc.org/libc/uuid/uuid/capi_linux_s390x.go
index 9947209fd..41aa499d6 100644
--- a/vendor/modernc.org/libc/uuid/uuid/capi_linux_s390x.go
+++ b/vendor/modernc.org/libc/uuid/uuid/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_s390x.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_s390x.go -pkgname uuid', DO NOT EDIT.
package uuid
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_amd64.go b/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_amd64.go
index d10b60c7d..f89a2ba77 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_amd64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_darwin_amd64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_darwin_amd64.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -550,8 +550,8 @@ type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
- _ [0]uint64
- F__mbstate8 [128]int8
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
@@ -806,6 +806,4 @@ type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
type Uuid_string_t = X__darwin_uuid_string_t /* uuid.h:43:33 */
-var sUUID_NULL = Uuid_t{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* uuid.h:49:1 */
-
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_arm64.go b/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_arm64.go
index 9778d02ba..db1932a95 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_arm64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_darwin_arm64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_darwin_arm64.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -788,6 +788,4 @@ type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
type Uuid_string_t = X__darwin_uuid_string_t /* uuid.h:43:33 */
-var sUUID_NULL = Uuid_t{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* uuid.h:49:1 */
-
var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_386.go b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_386.go
index 2ac3d0603..056cba55c 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_386.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_386.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_386.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -49,9 +49,12 @@ const (
UUID_VARIANT_SHIFT = 5
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -65,8 +68,10 @@ const (
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
+ X_ILP32 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -80,6 +85,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_TIME_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -91,7 +97,7 @@ const (
)
// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
+const ( /* time.h:89:1: */
// Timers run in real time.
ITIMER_REAL = 0
// Timers run only when the process is executing.
@@ -142,7 +148,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// DAMAGE.
// %End-Header%
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -157,11 +163,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -176,7 +182,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -184,6 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -304,6 +311,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -326,9 +335,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -343,7 +365,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -356,7 +378,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -371,7 +393,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -486,7 +508,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -507,10 +529,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -525,7 +551,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -563,7 +589,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -578,11 +604,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -597,43 +623,63 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -645,7 +691,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -667,7 +713,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -682,7 +728,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -691,76 +737,103 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -797,7 +870,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -812,7 +885,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -820,7 +893,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -835,7 +908,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -843,7 +916,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -858,7 +931,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -866,7 +939,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -881,7 +954,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -896,11 +969,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -911,7 +979,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -926,10 +994,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -944,7 +1012,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -953,18 +1021,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -979,11 +1046,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -998,11 +1065,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1017,12 +1084,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1037,7 +1104,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1051,7 +1118,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1066,7 +1133,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1080,7 +1147,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1095,16 +1162,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1124,16 +1209,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1148,11 +1233,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1167,7 +1252,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1182,36 +1267,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1220,11 +1275,40 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Extra attributes for the cleanup functions.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1239,39 +1323,109 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Determine the wordsize from the preprocessor defines.
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__flags uint8
- F__shared uint8
- F__rwelision int8
- F__pad2 uint8
- F__cur_writer int32
-} /* pthreadtypes-arch.h:65:1 */
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Extra attributes for the cleanup functions.
// Common definition of pthread_mutex_t.
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Extra attributes for the cleanup functions.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Common definition of pthread_mutex_t.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
-// Lock elision support.
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1280,13 +1434,57 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
}
}
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__flags uint8
+ F__shared uint8
+ F__rwelision int8
+ F__pad2 uint8
+ F__cur_writer int32
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1298,7 +1496,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1307,15 +1505,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1325,8 +1523,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1340,8 +1538,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1350,16 +1548,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1374,9 +1572,9 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1391,10 +1589,10 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1409,12 +1607,12 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1429,7 +1627,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
@@ -1440,8 +1638,6 @@ type Timezone = struct {
Ftz_dsttime int32
} /* time.h:52:1 */
-type X__timezone_ptr_t = uintptr /* time.h:58:25 */
-
// Type of the second argument to `getitimer' and
// the second and third arguments `setitimer'.
type Itimerval = struct {
@@ -1453,14 +1649,14 @@ type Itimerval = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
-} /* time.h:104:1 */
+} /* time.h:105:1 */
-type X__itimer_which_t = int32 /* time.h:117:13 */
+type X__itimer_which_t = int32 /* time.h:118:13 */
// Convenience macros for operations on timevals.
// NOTE: `timercmp' does not work for >= or <=.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1475,11 +1671,11 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1494,9 +1690,9 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1528,15 +1724,6 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1571,17 +1758,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1596,12 +1778,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1616,7 +1798,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1645,7 +1827,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1660,7 +1842,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1682,7 +1864,7 @@ type Tm = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1697,7 +1879,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1716,7 +1898,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1731,10 +1913,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1750,7 +1932,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_amd64.go b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_amd64.go
index d49ff63e1..84c78a0e5 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_amd64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_amd64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_amd64.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -49,9 +49,12 @@ const (
UUID_VARIANT_SHIFT = 5
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -68,6 +71,7 @@ const (
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -81,6 +85,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_TIME_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -91,7 +96,7 @@ const (
)
// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
+const ( /* time.h:89:1: */
// Timers run in real time.
ITIMER_REAL = 0
// Timers run only when the process is executing.
@@ -151,7 +156,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// DAMAGE.
// %End-Header%
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -166,11 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -185,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -193,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -313,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -335,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -352,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -365,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -380,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -495,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -516,11 +537,15 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Properties of long double type. ldbl-96 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -535,7 +560,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -573,7 +598,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -588,11 +613,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -607,45 +632,64 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -657,7 +701,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -678,7 +722,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
-// Copyright (C) 2012-2018 Free Software Foundation, Inc.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -693,7 +737,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -708,78 +752,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -816,7 +888,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -831,7 +903,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -839,7 +911,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -854,7 +926,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -862,7 +934,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -877,7 +949,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -885,7 +957,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -900,7 +972,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -915,11 +987,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -930,7 +997,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -945,10 +1012,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -963,7 +1030,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -972,18 +1039,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -998,11 +1064,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1017,11 +1083,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1036,12 +1102,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1056,7 +1122,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
@@ -1072,7 +1138,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1087,7 +1153,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1101,7 +1167,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1116,16 +1182,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1145,16 +1229,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1169,11 +1253,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1188,7 +1272,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1203,36 +1287,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1241,11 +1295,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1260,42 +1311,141 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__rwelision int8
- F__pad1 [7]uint8
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:65:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
-// Lock elision support.
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// x86 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1306,7 +1456,53 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// x86 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__rwelision int8
+ F__pad1 [7]uint8
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1318,7 +1514,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1327,15 +1523,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1345,8 +1541,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1360,8 +1556,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1370,16 +1566,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1394,9 +1590,9 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1411,10 +1607,10 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1429,12 +1625,12 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1449,7 +1645,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
@@ -1460,8 +1656,6 @@ type Timezone = struct {
Ftz_dsttime int32
} /* time.h:52:1 */
-type X__timezone_ptr_t = uintptr /* time.h:58:25 */
-
// Type of the second argument to `getitimer' and
// the second and third arguments `setitimer'.
type Itimerval = struct {
@@ -1473,14 +1667,14 @@ type Itimerval = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
-} /* time.h:104:1 */
+} /* time.h:105:1 */
-type X__itimer_which_t = int32 /* time.h:117:13 */
+type X__itimer_which_t = int32 /* time.h:118:13 */
// Convenience macros for operations on timevals.
// NOTE: `timercmp' does not work for >= or <=.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1495,11 +1689,11 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1514,9 +1708,9 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1548,15 +1742,6 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1591,17 +1776,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1616,12 +1796,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1636,7 +1816,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1665,7 +1845,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1680,30 +1860,30 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1718,7 +1898,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1737,7 +1917,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1752,10 +1932,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1771,7 +1951,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm.go b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm.go
index ab19b2321..8a7b6515c 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_arm.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_arm.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -49,9 +49,12 @@ const (
UUID_VARIANT_SHIFT = 5
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -80,6 +83,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_TIME_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -90,7 +94,7 @@ const (
)
// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
+const ( /* time.h:89:1: */
// Timers run in real time.
ITIMER_REAL = 0
// Timers run only when the process is executing.
@@ -141,7 +145,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// DAMAGE.
// %End-Header%
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -156,11 +160,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -175,7 +179,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -183,6 +187,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -303,6 +308,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -325,9 +332,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -342,7 +362,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -355,7 +375,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -370,7 +390,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -485,7 +505,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -506,7 +526,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -521,10 +545,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -539,7 +563,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This header is included by <sys/cdefs.h>.
//
@@ -593,7 +617,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -608,11 +632,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -627,9 +651,9 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -644,41 +668,78 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint32 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:46:44 */
-type X__uint64_t = uint64 /* types.h:47:46 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:65:37 */
-type X__u_quad_t = uint64 /* types.h:66:46 */
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:74:37 */
-type X__uintmax_t = uint64 /* types.h:75:46 */
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -690,7 +751,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -712,7 +773,7 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -727,83 +788,110 @@ type X__uintmax_t = uint64 /* types.h:75:46 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int32 /* types.h:177:28 */
-type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint32 /* types.h:181:30 */
-type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint32 /* types.h:185:30 */
-type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int32 /* types.h:189:28 */
+type X__fsword_t = int32 /* types.h:191:28 */
-type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int32 /* types.h:194:33 */
+type X__syscall_slong_t = int32 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint32 /* types.h:196:33 */
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int32 /* types.h:204:25 */
+type X__intptr_t = int32 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -840,7 +928,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -855,7 +943,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -863,7 +951,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -878,7 +966,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -886,7 +974,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -901,7 +989,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -909,7 +997,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -924,7 +1012,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -939,11 +1027,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -954,7 +1037,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -969,10 +1052,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -987,7 +1070,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -996,18 +1079,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
-
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1022,11 +1104,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1041,11 +1123,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1060,12 +1142,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1080,7 +1162,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1095,7 +1177,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1110,7 +1192,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1124,7 +1206,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1139,16 +1221,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1168,16 +1268,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1192,11 +1292,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1211,7 +1311,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1226,35 +1326,110 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_internal_list = struct {
+ F__prev uintptr
+ F__next uintptr
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
@@ -1264,11 +1439,27 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1282,10 +1473,94 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
-// License along with the GNU C Library. If not, see
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Common definition of pthread_mutex_t.
+
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
+
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
+
+type X__pthread_mutex_s = struct {
+ F__lock int32
+ F__count uint32
+ F__owner int32
+ F__kind int32
+ F__nusers uint32
+ F__20 struct{ F__spins int32 }
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// Default read-write lock implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1302,7 +1577,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Data structure for mutex handling.
+// Generic struct for both POSIX read-write lock. New ports are expected
+// to use the default layout, however archictetures can redefine it to add
+// arch-specific extensions (such as lock-elision). The struct have a size
+// of 32 bytes on both LP32 and LP64 architectures.
type X__pthread_rwlock_arch_t = struct {
F__readers uint32
@@ -1316,27 +1594,7 @@ type X__pthread_rwlock_arch_t = struct {
F__pad1 uint8
F__pad2 uint8
F__cur_writer int32
-} /* pthreadtypes-arch.h:43:1 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:88:9 */
-
-// Common definition of pthread_mutex_t.
-
-type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:91:3 */
-
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
-
-type X__pthread_mutex_s = struct {
- F__lock int32
- F__count uint32
- F__owner int32
- F__kind int32
- F__nusers uint32
- F__20 struct{ F__spins int32 }
-} /* thread-shared-types.h:118:1 */
+} /* struct_rwlock.h:29:1 */
// Common definition of pthread_cond_t.
@@ -1348,7 +1606,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1357,15 +1615,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1375,8 +1633,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1390,8 +1648,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1400,16 +1658,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1424,9 +1682,9 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1441,10 +1699,10 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1459,12 +1717,12 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1479,7 +1737,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
@@ -1490,8 +1748,6 @@ type Timezone = struct {
Ftz_dsttime int32
} /* time.h:52:1 */
-type X__timezone_ptr_t = uintptr /* time.h:58:25 */
-
// Type of the second argument to `getitimer' and
// the second and third arguments `setitimer'.
type Itimerval = struct {
@@ -1503,14 +1759,14 @@ type Itimerval = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
-} /* time.h:104:1 */
+} /* time.h:105:1 */
-type X__itimer_which_t = int32 /* time.h:117:13 */
+type X__itimer_which_t = int32 /* time.h:118:13 */
// Convenience macros for operations on timevals.
// NOTE: `timercmp' does not work for >= or <=.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1525,11 +1781,11 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1544,9 +1800,9 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1578,15 +1834,6 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1621,17 +1868,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1646,12 +1888,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1666,7 +1908,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1695,7 +1937,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1710,7 +1952,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1732,7 +1974,7 @@ type Tm = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1747,7 +1989,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1766,7 +2008,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1781,10 +2023,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1800,7 +2042,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1821,4 +2063,4 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
type Uuid_t = [16]uint8 /* uuid.h:44:23 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm64.go b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm64.go
index 0f2bb48d1..e3d618b65 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm64.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_arm64.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_arm64.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -49,9 +49,12 @@ const (
UUID_VARIANT_SHIFT = 5
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -68,6 +71,7 @@ const (
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -81,6 +85,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_TIME_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -91,7 +96,7 @@ const (
)
// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
+const ( /* time.h:89:1: */
// Timers run in real time.
ITIMER_REAL = 0
// Timers run only when the process is executing.
@@ -151,7 +156,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// DAMAGE.
// %End-Header%
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -166,11 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -185,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -193,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -313,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -335,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -352,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -365,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -380,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -495,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -516,9 +537,13 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -533,10 +558,10 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Properties of long double type. ldbl-128 version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -551,7 +576,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// long double is distinct from double, so there is nothing to
// define here.
@@ -585,7 +610,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -600,7 +625,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
@@ -608,7 +633,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -623,11 +648,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -642,11 +667,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -661,41 +686,80 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -707,7 +771,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -728,7 +792,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
-// Copyright (C) 2011-2018 Free Software Foundation, Inc.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
@@ -744,7 +808,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -757,78 +821,105 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int32 /* types.h:172:29 */
+type X__blksize_t = int32 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -865,7 +956,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -880,7 +971,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -888,7 +979,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -903,7 +994,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -911,7 +1002,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -926,7 +1017,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -934,7 +1025,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -949,7 +1040,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -964,11 +1055,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -979,7 +1065,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -994,10 +1080,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1012,7 +1098,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1021,18 +1107,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1047,11 +1132,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1066,11 +1151,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1085,12 +1170,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1105,7 +1190,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1120,7 +1205,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1135,7 +1220,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1149,7 +1234,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1164,16 +1249,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1193,16 +1296,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1217,11 +1320,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1236,7 +1339,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1251,36 +1354,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1289,11 +1362,8 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
-//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
//
// This file is part of the GNU C Library.
//
@@ -1309,9 +1379,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1328,36 +1399,155 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:54:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
-// Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// Default mutex implementation struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Generic struct for both POSIX and C11 mutexes. New ports are expected
+// to use the default layout, however architecture can redefine it to
+// add arch-specific extension (such as lock-elision). The struct have
+// a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1367,7 +1557,52 @@ type X__pthread_mutex_s = struct {
F__kind int32
F__spins int32
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:27:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// AArch64 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1379,7 +1614,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1388,15 +1623,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1406,15 +1641,15 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [64]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [64]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
type Pthread_mutex_t = struct {
- F__data X__pthread_mutex_s
- _ [8]byte
+ F__data X__pthread_mutex_s
+ F__ccgo_pad1 [8]byte
} /* pthreadtypes.h:72:3 */
type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
@@ -1424,8 +1659,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1434,16 +1669,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1458,9 +1693,9 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1475,10 +1710,10 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1493,12 +1728,12 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1513,7 +1748,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
@@ -1524,8 +1759,6 @@ type Timezone = struct {
Ftz_dsttime int32
} /* time.h:52:1 */
-type X__timezone_ptr_t = uintptr /* time.h:58:25 */
-
// Type of the second argument to `getitimer' and
// the second and third arguments `setitimer'.
type Itimerval = struct {
@@ -1537,14 +1770,14 @@ type Itimerval = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
-} /* time.h:104:1 */
+} /* time.h:105:1 */
-type X__itimer_which_t = int32 /* time.h:117:13 */
+type X__itimer_which_t = int32 /* time.h:118:13 */
// Convenience macros for operations on timevals.
// NOTE: `timercmp' does not work for >= or <=.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1559,11 +1792,11 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1578,9 +1811,9 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1612,15 +1845,6 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1655,17 +1879,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1680,12 +1899,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1700,7 +1919,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1729,7 +1948,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1744,30 +1963,30 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1782,7 +2001,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1801,7 +2020,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1816,10 +2035,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1835,7 +2054,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1856,4 +2075,4 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
type Uuid_t = [16]uint8 /* uuid.h:44:23 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_s390x.go b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_s390x.go
index 087ed6ddf..0661806f7 100644
--- a/vendor/modernc.org/libc/uuid/uuid/uuid_linux_s390x.go
+++ b/vendor/modernc.org/libc/uuid/uuid/uuid_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o uuid/uuid/uuid_linux_s390x.go -pkgname uuid', DO NOT EDIT.
+// Code generated by 'ccgo uuid/uuid/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 uuid/uuid/uuid_linux_s390x.go -pkgname uuid', DO NOT EDIT.
package uuid
@@ -49,9 +49,12 @@ const (
UUID_VARIANT_SHIFT = 5
X_ATFILE_SOURCE = 1
X_BITS_BYTESWAP_H = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
X_BITS_PTHREADTYPES_ARCH_H = 1
X_BITS_PTHREADTYPES_COMMON_H = 1
X_BITS_STDINT_INTN_H = 1
+ X_BITS_TIME64_H = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
@@ -68,6 +71,7 @@ const (
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
+ X_RWLOCK_INTERNAL_H = 0
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
@@ -81,6 +85,7 @@ const (
X_SYS_SIZE_T_H = 0
X_SYS_TIME_H = 1
X_SYS_TYPES_H = 1
+ X_THREAD_MUTEX_INTERNAL_H = 1
X_THREAD_SHARED_TYPES_H = 1
X_TIME_H = 1
X_T_SIZE = 0
@@ -91,7 +96,7 @@ const (
)
// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
+const ( /* time.h:89:1: */
// Timers run in real time.
ITIMER_REAL = 0
// Timers run only when the process is executing.
@@ -151,7 +156,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// DAMAGE.
// %End-Header%
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -166,11 +171,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -185,7 +190,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
@@ -193,6 +198,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
@@ -313,6 +319,8 @@ type X__float128 = float64 /* <builtin>:47:21 */
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
+// This is to enable the ISO C2X extension.
+
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
@@ -335,9 +343,22 @@ type X__float128 = float64 /* <builtin>:47:21 */
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -352,7 +373,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
@@ -365,7 +386,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
-// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -380,7 +401,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
@@ -495,7 +516,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
-// semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
@@ -516,10 +537,14 @@ type X__float128 = float64 /* <builtin>:47:21 */
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
-// Copyright (C) 2016-2018 Free Software Foundation, Inc.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -534,7 +559,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
@@ -571,7 +596,7 @@ type X__float128 = float64 /* <builtin>:47:21 */
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -586,11 +611,11 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -605,43 +630,65 @@ type X__float128 = float64 /* <builtin>:47:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
// Convenience types.
-type X__u_char = uint8 /* types.h:30:23 */
-type X__u_short = uint16 /* types.h:31:28 */
-type X__u_int = uint32 /* types.h:32:22 */
-type X__u_long = uint64 /* types.h:33:27 */
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
-type X__int8_t = int8 /* types.h:36:21 */
-type X__uint8_t = uint8 /* types.h:37:23 */
-type X__int16_t = int16 /* types.h:38:26 */
-type X__uint16_t = uint16 /* types.h:39:28 */
-type X__int32_t = int32 /* types.h:40:20 */
-type X__uint32_t = uint32 /* types.h:41:22 */
-type X__int64_t = int64 /* types.h:43:25 */
-type X__uint64_t = uint64 /* types.h:44:27 */
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
-type X__int_least8_t = X__int8_t /* types.h:51:18 */
-type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
-type X__int_least16_t = X__int16_t /* types.h:53:19 */
-type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
-type X__int_least32_t = X__int32_t /* types.h:55:19 */
-type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
-type X__int_least64_t = X__int64_t /* types.h:57:19 */
-type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
-type X__quad_t = int64 /* types.h:62:18 */
-type X__u_quad_t = uint64 /* types.h:63:27 */
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
-type X__intmax_t = int64 /* types.h:71:18 */
-type X__uintmax_t = uint64 /* types.h:72:27 */
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
@@ -653,7 +700,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
-// QUAD -- 64-bit type, always long long
+// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
@@ -674,7 +721,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -689,7 +736,7 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
@@ -704,78 +751,106 @@ type X__uintmax_t = uint64 /* types.h:72:27 */
// And for __rlim_t and __rlim64_t.
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
// Number of descriptors that can fit in an `fd_set'.
-type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
-type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
-type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
-type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
-type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
-type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
-type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
-type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
-type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
-type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
-type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
-type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
-type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
-type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
-type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
-type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
-type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
-type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
-
-type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
-type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
-type X__clockid_t = int32 /* types.h:166:29 */
+type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
-type X__timer_t = uintptr /* types.h:169:12 */
+type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
-type X__blksize_t = int64 /* types.h:172:29 */
+type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
-type X__blkcnt_t = int64 /* types.h:177:28 */
-type X__blkcnt64_t = int64 /* types.h:178:30 */
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
-type X__fsblkcnt_t = uint64 /* types.h:181:30 */
-type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
-type X__fsfilcnt_t = uint64 /* types.h:185:30 */
-type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
-type X__fsword_t = int64 /* types.h:189:28 */
+type X__fsword_t = int64 /* types.h:191:28 */
-type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
-type X__syscall_slong_t = int64 /* types.h:194:33 */
+type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
-type X__syscall_ulong_t = uint64 /* types.h:196:33 */
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
-type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
-type X__caddr_t = uintptr /* types.h:201:14 */
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
-type X__intptr_t = int64 /* types.h:204:25 */
+type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
-type X__socklen_t = uint32 /* types.h:207:23 */
+type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
-type X__sig_atomic_t = int32 /* types.h:212:13 */
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
type U_char = X__u_char /* types.h:33:18 */
type U_short = X__u_short /* types.h:34:19 */
@@ -812,7 +887,7 @@ type Caddr_t = X__caddr_t /* types.h:115:19 */
type Key_t = X__key_t /* types.h:121:17 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -827,7 +902,7 @@ type Key_t = X__key_t /* types.h:121:17 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -835,7 +910,7 @@ type Key_t = X__key_t /* types.h:121:17 */
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -850,7 +925,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -858,7 +933,7 @@ type Clock_t = X__clock_t /* clock_t.h:7:19 */
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -873,7 +948,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -881,7 +956,7 @@ type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -896,7 +971,7 @@ type Time_t = X__time_t /* time_t.h:7:18 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -911,11 +986,6 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// Old compatibility names for C types.
@@ -926,7 +996,7 @@ type Uint = uint32 /* types.h:150:22 */
// These size-specific names are used by some of the inet code.
// Define intN_t types.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -941,10 +1011,10 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -959,7 +1029,7 @@ type Uint = uint32 /* types.h:150:22 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -968,18 +1038,17 @@ type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
-// For GCC 2.7 and later, we can use specific type-size attributes.
-
-type U_int8_t = uint32 /* types.h:177:1 */
-type U_int16_t = uint32 /* types.h:178:1 */
-type U_int32_t = uint32 /* types.h:179:1 */
-type U_int64_t = uint32 /* types.h:180:1 */
+// These were defined by ISO C without the first `_'.
+type U_int8_t = X__uint8_t /* types.h:158:19 */
+type U_int16_t = X__uint16_t /* types.h:159:20 */
+type U_int32_t = X__uint32_t /* types.h:160:20 */
+type U_int64_t = X__uint64_t /* types.h:161:20 */
-type Register_t = int32 /* types.h:182:13 */
+type Register_t = int32 /* types.h:164:13 */
// It also defines `fd_set' and the FD_* macros for `select'.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -994,11 +1063,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1013,11 +1082,11 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Get definition of needed basic types.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1032,12 +1101,12 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Get __FD_* definitions.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1052,7 +1121,7 @@ type Register_t = int32 /* types.h:182:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// We don't use `memset' because this would require a prototype and
// the array isn't too big.
@@ -1067,7 +1136,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
// Get definition of timer specification structures.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1082,7 +1151,7 @@ type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1096,7 +1165,7 @@ type Timeval = struct {
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1111,16 +1180,34 @@ type Timeval = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
-} /* struct_timespec.h:9:1 */
+} /* struct_timespec.h:10:1 */
type Suseconds_t = X__suseconds_t /* select.h:43:23 */
@@ -1140,16 +1227,16 @@ type Fd_mask = X__fd_mask /* select.h:77:19 */
// Define some inlines helping to catch common problems.
-type Blksize_t = X__blksize_t /* types.h:202:21 */
+type Blksize_t = X__blksize_t /* types.h:185:21 */
// Types from the Large File Support interface.
-type Blkcnt_t = X__blkcnt64_t /* types.h:222:22 */ // Type to count number of disk blocks.
-type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:226:24 */ // Type to count file system blocks.
-type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file system inodes.
+type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks.
+type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
+type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
// Now add the thread types.
// Declaration of common pthread types for all architectures.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1164,11 +1251,11 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// For internal mutex and condition variable definitions.
// Common threading primitives definitions for both POSIX and C11.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1183,7 +1270,7 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Arch-specific definitions. Each architecture must define the following
// macros to define the expected sizes of pthread data types:
@@ -1198,36 +1285,6 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
//
-// Also, the following macros must be define for internal pthread_mutex_t
-// struct definitions (struct __pthread_mutex_s):
-//
-// __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
-// and before '__spin' (for 64 bits) or
-// '__nusers' (for 32 bits).
-// __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
-// the internal structure.
-// __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
-// elision or 0 otherwise.
-// __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
-// preferred value for new architectures
-// is 0.
-// __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
-// __list will be place inside a union for
-// linuxthreads compatibility.
-// The preferred value for new architectures
-// is 0.
-//
-// For a new port the preferred values for the required defines are:
-//
-// #define __PTHREAD_COMPAT_PADDING_MID
-// #define __PTHREAD_COMPAT_PADDING_END
-// #define __PTHREAD_MUTEX_LOCK_ELISION 0
-// #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
-// #define __PTHREAD_MUTEX_USE_UNION 0
-//
-// __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
-// eventually support lock elision using transactional memory.
-//
// The additional macro defines any constraint for the lock alignment
// inside the thread structures:
//
@@ -1236,11 +1293,10 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Same idea but for the once locking primitive:
//
// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
//
-// And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
-// must be defined.
-//
-// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1259,35 +1315,135 @@ type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:230:24 */ // Type to count file sys
// Determine the wordsize from the preprocessor defines.
-// Definitions for internal mutex struct.
-
-type X__pthread_rwlock_arch_t = struct {
- F__readers uint32
- F__writers uint32
- F__wrphase_futex uint32
- F__writers_futex uint32
- F__pad3 uint32
- F__pad4 uint32
- F__cur_writer int32
- F__shared int32
- F__pad1 uint64
- F__pad2 uint64
- F__flags uint32
- _ [4]byte
-} /* pthreadtypes-arch.h:50:1 */
-
// Common definition of pthread_mutex_t.
type X__pthread_internal_list = struct {
F__prev uintptr
F__next uintptr
-} /* thread-shared-types.h:82:9 */
+} /* thread-shared-types.h:49:9 */
+
+// Type to count file system inodes.
+
+// Now add the thread types.
+// Declaration of common pthread types for all architectures.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For internal mutex and condition variable definitions.
+// Common threading primitives definitions for both POSIX and C11.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Arch-specific definitions. Each architecture must define the following
+// macros to define the expected sizes of pthread data types:
+//
+// __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+// __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+// __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+// __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+// __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+// __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+// __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+// __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+// __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+//
+// The additional macro defines any constraint for the lock alignment
+// inside the thread structures:
+//
+// __LOCK_ALIGNMENT - for internal lock/futex usage.
+//
+// Same idea but for the once locking primitive:
+//
+// __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
+
+// Machine-specific pthread type layouts. Generic version.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
// Common definition of pthread_mutex_t.
-type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:86:3 */
+type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
+
+type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
-// Lock elision support.
+type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
+
+// Arch-specific mutex definitions. A generic implementation is provided
+// by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+// can override it by defining:
+//
+// 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+// definition). It should contains at least the internal members
+// defined in the generic version.
+//
+// 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+// atomic operations.
+//
+// 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+// It should initialize the mutex internal flag.
+
+// S390 internal mutex struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
type X__pthread_mutex_s = struct {
F__lock int32
@@ -1298,7 +1454,52 @@ type X__pthread_mutex_s = struct {
F__spins int16
F__elision int16
F__list X__pthread_list_t
-} /* thread-shared-types.h:118:1 */
+} /* struct_mutex.h:22:1 */
+
+// Arch-sepecific read-write lock definitions. A generic implementation is
+// provided by struct_rwlock.h. If required, an architecture can override it
+// by defining:
+//
+// 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+// It should contain at least the internal members defined in the
+// generic version.
+//
+// 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+// It should initialize the rwlock internal type.
+
+// S390 internal rwlock struct definitions.
+// Copyright (C) 2019-2020 Free Software Foundation, Inc.
+//
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+type X__pthread_rwlock_arch_t = struct {
+ F__readers uint32
+ F__writers uint32
+ F__wrphase_futex uint32
+ F__writers_futex uint32
+ F__pad3 uint32
+ F__pad4 uint32
+ F__cur_writer int32
+ F__shared int32
+ F__pad1 uint64
+ F__pad2 uint64
+ F__flags uint32
+ F__ccgo_pad1 [4]byte
+} /* struct_rwlock.h:23:1 */
// Common definition of pthread_cond_t.
@@ -1310,7 +1511,7 @@ type X__pthread_cond_s = struct {
F__g1_orig_size uint32
F__wrefs uint32
F__g_signals [2]uint32
-} /* thread-shared-types.h:171:1 */
+} /* thread-shared-types.h:92:1 */
// Thread identifiers. The structure of the attribute type is not
// exposed on purpose.
@@ -1319,15 +1520,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
// Data structures for mutex handling. The structure of the attribute
// type is not exposed on purpose.
type Pthread_mutexattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:36:3 */
// Data structure for condition variable handling. The structure of
// the attribute type is not exposed on purpose.
type Pthread_condattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -1337,8 +1538,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
type Pthread_attr_t1 = struct {
- _ [0]uint64
- F__size [56]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [56]uint8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
@@ -1352,8 +1553,8 @@ type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3
type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
type Pthread_rwlockattr_t = struct {
- _ [0]uint64
- F__size [8]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [8]uint8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -1362,16 +1563,16 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
// POSIX barriers data type. The structure of the type is
// deliberately not exposed.
type Pthread_barrier_t = struct {
- _ [0]uint64
- F__size [32]int8
+ F__ccgo_pad1 [0]uint64
+ F__size [32]uint8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]uint8
} /* pthreadtypes.h:118:3 */
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1386,9 +1587,9 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1403,10 +1604,10 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1421,12 +1622,12 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// `fd_set' type and related macros, and `select'/`pselect' declarations.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1441,7 +1642,7 @@ type Pthread_barrierattr_t = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
@@ -1452,8 +1653,6 @@ type Timezone = struct {
Ftz_dsttime int32
} /* time.h:52:1 */
-type X__timezone_ptr_t = uintptr /* time.h:58:25 */
-
// Type of the second argument to `getitimer' and
// the second and third arguments `setitimer'.
type Itimerval = struct {
@@ -1465,14 +1664,14 @@ type Itimerval = struct {
Ftv_sec X__time_t
Ftv_usec X__suseconds_t
}
-} /* time.h:104:1 */
+} /* time.h:105:1 */
-type X__itimer_which_t = int32 /* time.h:117:13 */
+type X__itimer_which_t = int32 /* time.h:118:13 */
// Convenience macros for operations on timevals.
// NOTE: `timercmp' does not work for >= or <=.
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1487,11 +1686,11 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.23 Date and time <time.h>
-// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1506,9 +1705,9 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
-// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -1540,15 +1739,6 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// This avoids lossage on SunOS but only if stdtypes.h comes first.
// There's no way to win with the other order! Sun lossage.
-// On 4.3bsd-net2, make sure ansi.h is included, so we have
-// one less case to deal with in the following.
-// On FreeBSD 5, machine/ansi.h does not exist anymore...
-
-// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-// defined if the corresponding type is *not* defined.
-// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
-
// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
// Just ignore it.
@@ -1583,17 +1773,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// Define this type if we are doing the whole job,
// or if we want this type in particular.
-// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-// are already defined.
-// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
-// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
-
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
-// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1608,12 +1793,12 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1628,7 +1813,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1657,7 +1842,7 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1672,30 +1857,30 @@ type X__itimer_which_t = int32 /* time.h:117:13 */
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
- Ftm_sec int32
- Ftm_min int32
- Ftm_hour int32
- Ftm_mday int32
- Ftm_mon int32
- Ftm_year int32
- Ftm_wday int32
- Ftm_yday int32
- Ftm_isdst int32
- _ [4]byte
- Ftm_gmtoff int64
- Ftm_zone uintptr
+ 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
+ F__ccgo_pad1 [4]byte
+ Ftm_gmtoff int64
+ Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
-// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1710,7 +1895,7 @@ type Tm = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
@@ -1729,7 +1914,7 @@ type Itimerspec = struct {
} /* struct_itimerspec.h:8:1 */
// Definition of locale_t.
-// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
@@ -1744,10 +1929,10 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
-// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
@@ -1763,7 +1948,7 @@ type Itimerspec = struct {
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
-// <http://www.gnu.org/licenses/>.
+// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
@@ -1784,4 +1969,4 @@ type Locale_t = X__locale_t /* locale_t.h:24:20 */
type Uuid_t = [16]uint8 /* uuid.h:44:23 */
-var _ int8 /* gen.c:2:13: */
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/capi_darwin_amd64.go b/vendor/modernc.org/libc/wctype/capi_darwin_amd64.go
new file mode 100644
index 000000000..d21ebcb75
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_darwin_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_darwin_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_darwin_arm64.go b/vendor/modernc.org/libc/wctype/capi_darwin_arm64.go
new file mode 100644
index 000000000..e79c076d8
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_darwin_arm64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_darwin_arm64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_freebsd_amd64.go b/vendor/modernc.org/libc/wctype/capi_freebsd_amd64.go
new file mode 100644
index 000000000..66e0cff37
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_freebsd_amd64.go
@@ -0,0 +1,29 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_freebsd_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{
+ "__istype_l": {},
+ "__maskrune_l": {},
+ "__wcwidth_l": {},
+ "iswalnum_l": {},
+ "iswalpha_l": {},
+ "iswblank_l": {},
+ "iswcntrl_l": {},
+ "iswdigit_l": {},
+ "iswgraph_l": {},
+ "iswhexnumber_l": {},
+ "iswideogram_l": {},
+ "iswlower_l": {},
+ "iswnumber_l": {},
+ "iswphonogram_l": {},
+ "iswprint_l": {},
+ "iswpunct_l": {},
+ "iswrune_l": {},
+ "iswspace_l": {},
+ "iswspecial_l": {},
+ "iswupper_l": {},
+ "iswxdigit_l": {},
+ "towlower_l": {},
+ "towupper_l": {},
+}
diff --git a/vendor/modernc.org/libc/wctype/capi_linux_386.go b/vendor/modernc.org/libc/wctype/capi_linux_386.go
new file mode 100644
index 000000000..800f8200b
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_linux_386.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_386.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_linux_amd64.go b/vendor/modernc.org/libc/wctype/capi_linux_amd64.go
new file mode 100644
index 000000000..d7a2db068
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_linux_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_linux_arm.go b/vendor/modernc.org/libc/wctype/capi_linux_arm.go
new file mode 100644
index 000000000..e04dcd296
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_linux_arm.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_arm.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_linux_arm64.go b/vendor/modernc.org/libc/wctype/capi_linux_arm64.go
new file mode 100644
index 000000000..17a10a4b8
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_linux_arm64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_arm64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_linux_s390x.go b/vendor/modernc.org/libc/wctype/capi_linux_s390x.go
new file mode 100644
index 000000000..a8bf0d385
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_linux_s390x.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_s390x.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_netbsd_amd64.go b/vendor/modernc.org/libc/wctype/capi_netbsd_amd64.go
new file mode 100644
index 000000000..0bee89855
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_netbsd_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_netbsd_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_windows_386.go b/vendor/modernc.org/libc/wctype/capi_windows_386.go
new file mode 100644
index 000000000..a522b1900
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_windows_386.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_windows_386.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/capi_windows_amd64.go b/vendor/modernc.org/libc/wctype/capi_windows_amd64.go
new file mode 100644
index 000000000..6d11ff4a9
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/capi_windows_amd64.go
@@ -0,0 +1,5 @@
+// Code generated by 'ccgo wctype\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 wctype\wctype_windows_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/wctype/wctype_darwin_amd64.go b/vendor/modernc.org/libc/wctype/wctype_darwin_amd64.go
new file mode 100644
index 000000000..718b10f8c
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_darwin_amd64.go
@@ -0,0 +1,1405 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_darwin_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ X_BSD_I386__TYPES_H_ = 0
+ X_BSD_MACHINE__TYPES_H_ = 0
+ X_CACHED_RUNES = 256
+ X_CDEFS_H_ = 0
+ X_CRMASK = -256
+ X_CTYPE_A = 0x00000100
+ X_CTYPE_B = 0x00020000
+ X_CTYPE_C = 0x00000200
+ X_CTYPE_D = 0x00000400
+ X_CTYPE_G = 0x00000800
+ X_CTYPE_H_ = 0
+ X_CTYPE_I = 0x00080000
+ X_CTYPE_L = 0x00001000
+ X_CTYPE_P = 0x00002000
+ X_CTYPE_Q = 0x00200000
+ X_CTYPE_R = 0x00040000
+ X_CTYPE_S = 0x00004000
+ X_CTYPE_SW0 = 0x20000000
+ X_CTYPE_SW1 = 0x40000000
+ X_CTYPE_SW2 = 0x80000000
+ X_CTYPE_SW3 = 0xc0000000
+ X_CTYPE_SWM = 0xe0000000
+ X_CTYPE_SWS = 30
+ X_CTYPE_T = 0x00100000
+ X_CTYPE_U = 0x00008000
+ X_CTYPE_X = 0x00010000
+ X_CT_RUNE_T = 0
+ X_DARWIN_FEATURE_64_BIT_INODE = 1
+ X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
+ X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
+ X_FILE_OFFSET_BITS = 64
+ X_FORTIFY_SOURCE = 2
+ X_LP64 = 1
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_RUNETYPE_H_ = 0
+ X_RUNE_MAGIC_A = "RuneMagA"
+ X_RUNE_T = 0
+ X_SIZE_T = 0
+ X_SYS__PTHREAD_TYPES_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_WCHAR_T = 0
+ X_WCTRANS_T = 0
+ X_WCTYPE_H_ = 0
+ X_WCTYPE_T = 0
+ X_WINT_T = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// -
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
+// $NetBSD: wctype.h,v 1.3 2000/12/22 14:16:16 itojun Exp $
+// $FreeBSD: /repoman/r/ncvs/src/include/wctype.h,v 1.10 2002/08/21 16:19:55 mike Exp $
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// This SDK is designed to work with clang and specific versions of
+// gcc >= 4.0 with Apple's patch sets
+
+// Compatibility with compilers and environments that don't support compiler
+// feature checking function-like macros.
+
+// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
+// in between its arguments. __CONCAT can also concatenate double-quoted
+// strings produced by the __STRING macro, but this only works with ANSI C.
+
+// __unused denotes variables and functions that may not be used, preventing
+// the compiler from warning about it if not used.
+
+// __used forces variables and functions to be included even if it appears
+// to the compiler that they are not used (and would thust be discarded).
+
+// __cold marks code used for debugging or that is rarely taken
+// and tells the compiler to optimize for size and outline code.
+
+// __deprecated causes the compiler to produce a warning when encountering
+// code using the deprecated functionality.
+// __deprecated_msg() does the same, and compilers that support it will print
+// a message along with the deprecation warning.
+// This may require turning on such warning with the -Wdeprecated flag.
+// __deprecated_enum_msg() should be used on enums, and compilers that support
+// it will print the deprecation warning.
+// __kpi_deprecated() specifically indicates deprecation of kernel programming
+// interfaces in Kernel.framework used by KEXTs.
+
+// __unavailable causes the compiler to error out when encountering
+// code using the tagged function of variable.
+
+// Delete pseudo-keywords wherever they are not available or needed.
+
+// We use `__restrict' as a way to define the `restrict' type qualifier
+// without disturbing older software that is unaware of C99 keywords.
+
+// Compatibility with compilers and environments that don't support the
+// nullability feature.
+
+// __disable_tail_calls causes the compiler to not perform tail call
+// optimization inside the marked function.
+
+// __not_tail_called causes the compiler to prevent tail call optimization
+// on statically bound calls to the function. It has no effect on indirect
+// calls. Virtual functions, objective-c methods, and functions marked as
+// "always_inline" cannot be marked as __not_tail_called.
+
+// __result_use_check warns callers of a function that not using the function
+// return value is a bug, i.e. dismissing malloc() return value results in a
+// memory leak.
+
+// __swift_unavailable causes the compiler to mark a symbol as specifically
+// unavailable in Swift, regardless of any other availability in C.
+
+// __abortlike is the attribute to put on functions like abort() that are
+// typically used to mark assertions. These optimize the codegen
+// for outlining while still maintaining debugability.
+
+// Declaring inline functions within headers is error-prone due to differences
+// across various versions of the C language and extensions. __header_inline
+// can be used to declare inline functions within system headers. In cases
+// where you want to force inlining instead of letting the compiler make
+// the decision, you can use __header_always_inline.
+//
+// Be aware that using inline for functions which compilers may also provide
+// builtins can behave differently under various compilers. If you intend to
+// provide an inline version of such a function, you may want to use a macro
+// instead.
+//
+// The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
+// support c99 inline in some cases:
+// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
+
+// Compiler-dependent macros that bracket portions of code where the
+// "-Wunreachable-code" warning should be ignored. Please use sparingly.
+
+// Compiler-dependent macros to declare that functions take printf-like
+// or scanf-like arguments. They are null except for versions of gcc
+// that are known to support the features properly. Functions declared
+// with these attributes will cause compilation warnings if there is a
+// mismatch between the format string and subsequent function parameter
+// types.
+
+// Source compatibility only, ID string not emitted in object file
+
+// __alloc_size can be used to label function arguments that represent the
+// size of memory that the function allocates and returns. The one-argument
+// form labels a single argument that gives the allocation size (where the
+// arguments are numbered from 1):
+//
+// void *malloc(size_t __size) __alloc_size(1);
+//
+// The two-argument form handles the case where the size is calculated as the
+// product of two arguments:
+//
+// void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
+
+// COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
+//
+// DEFAULT By default newly complied code will get POSIX APIs plus
+// Apple API extensions in scope.
+//
+// Most users will use this compilation environment to avoid
+// behavioral differences between 32 and 64 bit code.
+//
+// LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
+// API extensions in scope.
+//
+// This is generally equivalent to the Tiger release compilation
+// environment, except that it cannot be applied to 64 bit code;
+// its use is discouraged.
+//
+// We expect this environment to be deprecated in the future.
+//
+// STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
+// available APIs to exactly the set of APIs defined by the
+// corresponding standard, based on the value defined.
+//
+// A correct, portable definition for _POSIX_C_SOURCE is 200112L.
+// A correct, portable definition for _XOPEN_SOURCE is 600L.
+//
+// Apple API extensions are not visible in this environment,
+// which can cause Apple specific code to fail to compile,
+// or behave incorrectly if prototypes are not in scope or
+// warnings about missing prototypes are not enabled or ignored.
+//
+// In any compilation environment, for correct symbol resolution to occur,
+// function prototypes must be in scope. It is recommended that all Apple
+// tools users add either the "-Wall" or "-Wimplicit-function-declaration"
+// compiler flags to their projects to be warned when a function is being
+// used without a prototype in scope.
+
+// These settings are particular to each product.
+// Platform: MacOSX
+// #undef __DARWIN_ONLY_UNIX_CONFORMANCE (automatically set for 64-bit)
+
+// The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
+// legacy code to use the old symbol, thus maintaining binary compatibility
+// while new code can use a standards compliant version of the same function.
+//
+// __DARWIN_ALIAS is used by itself if the function signature has not
+// changed, it is used along with a #ifdef check for __DARWIN_UNIX03
+// if the signature has changed. Because the __LP64__ environment
+// only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
+// defined, but causes __DARWIN_ALIAS to do no symbol mangling.
+//
+// As a special case, when XCode is used to target a specific version of the
+// OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+// will be defined by the compiler, with the digits representing major version
+// time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
+// pre-10.5, and it is the default compilation environment, revert the
+// compilation environment to pre-__DARWIN_UNIX03.
+
+// symbol suffixes used for symbol versioning
+
+// symbol versioning macros
+
+// symbol release macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// POSIX.1 requires that the macros we test be defined before any standard
+// header file is included. This permits us to convert values for feature
+// testing, as necessary, using only _POSIX_C_SOURCE.
+//
+// Here's a quick run-down of the versions:
+// defined(_POSIX_SOURCE) 1003.1-1988
+// _POSIX_C_SOURCE == 1L 1003.1-1990
+// _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
+// _POSIX_C_SOURCE == 199309L 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
+// and the omnibus ISO/IEC 9945-1: 1996
+// _POSIX_C_SOURCE == 200112L 1003.1-2001
+// _POSIX_C_SOURCE == 200809L 1003.1-2008
+//
+// In addition, the X/Open Portability Guide, which is now the Single UNIX
+// Specification, defines a feature-test macro which indicates the version of
+// that specification, and which subsumes _POSIX_C_SOURCE.
+
+// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
+
+// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
+
+// Deal with various X/Open Portability Guides and Single UNIX Spec.
+
+// Deal with all versions of POSIX. The ordering relative to the tests above is
+// important.
+
+// POSIX C deprecation macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Set a single macro which will always be defined and can be used to determine
+// the appropriate namespace. For POSIX, these values will correspond to
+// _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
+// to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
+
+// If the developer has neither requested a strict language mode nor a version
+// of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
+// of __DARWIN_C_FULL.
+
+// long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
+// c99 still want long longs. While not perfect, we allow long longs for
+// g++.
+
+// ****************************************
+//
+// Public darwin-specific feature macros
+//
+
+// _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
+// structures modified for 64-bit inodes (like struct stat) will be used.
+
+// _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
+// be 64-bit; there is no support for 32-bit ino_t when this macro is defined
+// (and non-zero). There is no struct stat64 either, as the regular
+// struct stat will already be the 64-bit version.
+
+// _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
+// in 10.5 exists; no pre-10.5 variants are available.
+
+// _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
+// are available (the legacy BSD APIs are not available)
+
+// _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
+// and specifies the conformance level (3 is SUSv3)
+
+// This macro casts away the qualifier from the variable
+//
+// Note: use at your own risk, removing qualifiers can result in
+// catastrophic run-time failures.
+
+// __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
+// used from other compilation units, but not other libraries or executables.
+
+// Architecture validation for current SDK
+
+// Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
+//
+// This provides more advanced type checking on compilers supporting
+// the proper extensions, even in C.
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// This header file contains integer types. It's intended to also contain
+// flotaing point and other arithmetic types, as needed, later.
+
+type X__int8_t = int8 /* _types.h:37:33 */
+type X__uint8_t = uint8 /* _types.h:41:33 */
+type X__int16_t = int16 /* _types.h:42:33 */
+type X__uint16_t = uint16 /* _types.h:43:33 */
+type X__int32_t = int32 /* _types.h:44:33 */
+type X__uint32_t = uint32 /* _types.h:45:33 */
+type X__int64_t = int64 /* _types.h:46:33 */
+type X__uint64_t = uint64 /* _types.h:47:33 */
+
+type X__darwin_intptr_t = int64 /* _types.h:49:33 */
+type X__darwin_natural_t = uint32 /* _types.h:50:33 */
+
+// The rune type below is declared to be an ``int'' instead of the more natural
+// ``unsigned long'' or ``long''. Two things are happening here. It is not
+// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+// it looks like 10646 will be a 31 bit standard. This means that if your
+// ints cannot hold 32 bits, you will be in trouble. The reason an int was
+// chosen over a long is that the is*() and to*() routines take ints (says
+// ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
+// here, you lose a bit of ANSI conformance, but your programs will still
+// work.
+//
+// NOTE: rune_t is not covered by ANSI nor other standards, and should not
+// be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+// rune_t must be the same type. Also wint_t must be no narrower than
+// wchar_t, and should also be able to hold all members of the largest
+// character set plus one extra value (WEOF). wint_t must be at least 16 bits.
+
+type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
+} /* _types.h:79:3 */
+
+type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
+
+type X__darwin_ptrdiff_t = int64 /* _types.h:84:33 */ // ptr1 - ptr2
+
+type X__darwin_size_t = uint64 /* _types.h:92:33 */ // sizeof()
+
+type X__darwin_va_list = X__builtin_va_list /* _types.h:98:33 */ // va_list
+
+type X__darwin_wchar_t = int32 /* _types.h:104:33 */ // wchar_t
+
+type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:109:33 */ // rune_t
+
+type X__darwin_wint_t = int32 /* _types.h:112:33 */ // wint_t
+
+type X__darwin_clock_t = uint64 /* _types.h:117:33 */ // clock()
+type X__darwin_socklen_t = X__uint32_t /* _types.h:118:33 */ // socklen_t (duh)
+type X__darwin_ssize_t = int64 /* _types.h:119:33 */ // byte count or error
+type X__darwin_time_t = int64 /* _types.h:120:33 */ // time()
+
+// Type definitions; takes common type definitions that must be used
+// in multiple header files due to [XSI], removes them from the system
+// space, and puts them in the implementation space.
+
+type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
+type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
+type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
+type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
+type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
+type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
+type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
+type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
+type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
+type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
+type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
+type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
+type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
+type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
+type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
+type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
+type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
+type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
+type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
+type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
+
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// pthread opaque structures
+
+type X__darwin_pthread_handler_rec = struct {
+ F__routine uintptr
+ F__arg uintptr
+ F__next uintptr
+} /* _pthread_types.h:57:1 */
+
+type X_opaque_pthread_attr_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:63:1 */
+
+type X_opaque_pthread_cond_t = struct {
+ F__sig int64
+ F__opaque [40]int8
+} /* _pthread_types.h:68:1 */
+
+type X_opaque_pthread_condattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:73:1 */
+
+type X_opaque_pthread_mutex_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:78:1 */
+
+type X_opaque_pthread_mutexattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:83:1 */
+
+type X_opaque_pthread_once_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:88:1 */
+
+type X_opaque_pthread_rwlock_t = struct {
+ F__sig int64
+ F__opaque [192]int8
+} /* _pthread_types.h:93:1 */
+
+type X_opaque_pthread_rwlockattr_t = struct {
+ F__sig int64
+ F__opaque [16]int8
+} /* _pthread_types.h:98:1 */
+
+type X_opaque_pthread_t = struct {
+ F__sig int64
+ F__cleanup_stack uintptr
+ F__opaque [8176]int8
+} /* _pthread_types.h:103:1 */
+
+type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
+type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
+type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
+type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
+type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
+type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
+type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
+type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
+type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
+type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type X__darwin_nl_item = int32 /* _types.h:40:14 */
+type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
+type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+type Wctrans_t = X__darwin_wctrans_t /* _wctrans_t.h:32:28 */
+
+// -
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+
+// Common header for wctype.h and wchar.h
+//
+// Contains everything required by wctype.h except:
+//
+// #include <_types/_wctrans_t.h>
+// int iswblank(wint_t);
+// wint_t towctrans(wint_t, wctrans_t);
+// wctrans_t wctrans(const char *);
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// -
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+
+// Common header for _wctype.h and xlocale/__wctype.h
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Wint_t = X__darwin_wint_t /* _wint_t.h:32:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+type Wctype_t = X__darwin_wctype_t /* _wctype_t.h:32:27 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Ct_rune_t = X__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Rune_t = X__darwin_rune_t /* _rune_t.h:31:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// The lower 8 bits of runetype[] contain the digit value of the rune.
+type X_RuneEntry = struct {
+ F__min X__darwin_rune_t
+ F__max X__darwin_rune_t
+ F__map X__darwin_rune_t
+ F__ccgo_pad1 [4]byte
+ F__types uintptr
+} /* runetype.h:65:3 */
+
+type X_RuneRange = struct {
+ F__nranges int32
+ F__ccgo_pad1 [4]byte
+ F__ranges uintptr
+} /* runetype.h:70:3 */
+
+type X_RuneCharClass = struct {
+ F__name [14]int8
+ F__ccgo_pad1 [2]byte
+ F__mask X__uint32_t
+} /* runetype.h:75:3 */
+
+type X_RuneLocale = struct {
+ F__magic [8]int8
+ F__encoding [32]int8
+ F__sgetrune uintptr
+ F__sputrune uintptr
+ F__invalid_rune X__darwin_rune_t
+ F__runetype [256]X__uint32_t
+ F__maplower [256]X__darwin_rune_t
+ F__mapupper [256]X__darwin_rune_t
+ F__ccgo_pad1 [4]byte
+ F__runetype_ext X_RuneRange
+ F__maplower_ext X_RuneRange
+ F__mapupper_ext X_RuneRange
+ F__variable uintptr
+ F__variable_len int32
+ F__ncharclasses int32
+ F__charclasses uintptr
+} /* runetype.h:106:3 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_darwin_arm64.go b/vendor/modernc.org/libc/wctype/wctype_darwin_arm64.go
new file mode 100644
index 000000000..b8d97f97b
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_darwin_arm64.go
@@ -0,0 +1,1387 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_darwin_arm64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ X_BSD_ARM__TYPES_H_ = 0
+ X_BSD_MACHINE__TYPES_H_ = 0
+ X_CACHED_RUNES = 256
+ X_CDEFS_H_ = 0
+ X_CRMASK = -256
+ X_CTYPE_A = 0x00000100
+ X_CTYPE_B = 0x00020000
+ X_CTYPE_C = 0x00000200
+ X_CTYPE_D = 0x00000400
+ X_CTYPE_G = 0x00000800
+ X_CTYPE_H_ = 0
+ X_CTYPE_I = 0x00080000
+ X_CTYPE_L = 0x00001000
+ X_CTYPE_P = 0x00002000
+ X_CTYPE_Q = 0x00200000
+ X_CTYPE_R = 0x00040000
+ X_CTYPE_S = 0x00004000
+ X_CTYPE_SW0 = 0x20000000
+ X_CTYPE_SW1 = 0x40000000
+ X_CTYPE_SW2 = 0x80000000
+ X_CTYPE_SW3 = 0xc0000000
+ X_CTYPE_SWM = 0xe0000000
+ X_CTYPE_SWS = 30
+ X_CTYPE_T = 0x00100000
+ X_CTYPE_U = 0x00008000
+ X_CTYPE_X = 0x00010000
+ X_CT_RUNE_T = 0
+ X_DARWIN_FEATURE_64_BIT_INODE = 1
+ X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1
+ X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
+ X_DARWIN_FEATURE_ONLY_VERS_1050 = 1
+ X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3
+ X_FILE_OFFSET_BITS = 64
+ X_FORTIFY_SOURCE = 2
+ X_LP64 = 1
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_RUNETYPE_H_ = 0
+ X_RUNE_MAGIC_A = "RuneMagA"
+ X_RUNE_T = 0
+ X_SIZE_T = 0
+ X_SYS__PTHREAD_TYPES_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_WCHAR_T = 0
+ X_WCTRANS_T = 0
+ X_WCTYPE_H_ = 0
+ X_WCTYPE_T = 0
+ X_WINT_T = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// -
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
+// $NetBSD: wctype.h,v 1.3 2000/12/22 14:16:16 itojun Exp $
+// $FreeBSD: /repoman/r/ncvs/src/include/wctype.h,v 1.10 2002/08/21 16:19:55 mike Exp $
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// This SDK is designed to work with clang and specific versions of
+// gcc >= 4.0 with Apple's patch sets
+
+// Compatibility with compilers and environments that don't support compiler
+// feature checking function-like macros.
+
+// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
+// in between its arguments. __CONCAT can also concatenate double-quoted
+// strings produced by the __STRING macro, but this only works with ANSI C.
+
+// __unused denotes variables and functions that may not be used, preventing
+// the compiler from warning about it if not used.
+
+// __used forces variables and functions to be included even if it appears
+// to the compiler that they are not used (and would thust be discarded).
+
+// __cold marks code used for debugging or that is rarely taken
+// and tells the compiler to optimize for size and outline code.
+
+// __exported denotes symbols that should be exported even when symbols
+// are hidden by default.
+// __exported_push/_exported_pop are pragmas used to delimit a range of
+// symbols that should be exported even when symbols are hidden by default.
+
+// __deprecated causes the compiler to produce a warning when encountering
+// code using the deprecated functionality.
+// __deprecated_msg() does the same, and compilers that support it will print
+// a message along with the deprecation warning.
+// This may require turning on such warning with the -Wdeprecated flag.
+// __deprecated_enum_msg() should be used on enums, and compilers that support
+// it will print the deprecation warning.
+// __kpi_deprecated() specifically indicates deprecation of kernel programming
+// interfaces in Kernel.framework used by KEXTs.
+
+// __unavailable causes the compiler to error out when encountering
+// code using the tagged function
+
+// Delete pseudo-keywords wherever they are not available or needed.
+
+// We use `__restrict' as a way to define the `restrict' type qualifier
+// without disturbing older software that is unaware of C99 keywords.
+
+// Compatibility with compilers and environments that don't support the
+// nullability feature.
+
+// __disable_tail_calls causes the compiler to not perform tail call
+// optimization inside the marked function.
+
+// __not_tail_called causes the compiler to prevent tail call optimization
+// on statically bound calls to the function. It has no effect on indirect
+// calls. Virtual functions, objective-c methods, and functions marked as
+// "always_inline" cannot be marked as __not_tail_called.
+
+// __result_use_check warns callers of a function that not using the function
+// return value is a bug, i.e. dismissing malloc() return value results in a
+// memory leak.
+
+// __swift_unavailable causes the compiler to mark a symbol as specifically
+// unavailable in Swift, regardless of any other availability in C.
+
+// __abortlike is the attribute to put on functions like abort() that are
+// typically used to mark assertions. These optimize the codegen
+// for outlining while still maintaining debugability.
+
+// Declaring inline functions within headers is error-prone due to differences
+// across various versions of the C language and extensions. __header_inline
+// can be used to declare inline functions within system headers. In cases
+// where you want to force inlining instead of letting the compiler make
+// the decision, you can use __header_always_inline.
+//
+// Be aware that using inline for functions which compilers may also provide
+// builtins can behave differently under various compilers. If you intend to
+// provide an inline version of such a function, you may want to use a macro
+// instead.
+//
+// The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
+// support c99 inline in some cases:
+// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
+
+// Compiler-dependent macros that bracket portions of code where the
+// "-Wunreachable-code" warning should be ignored. Please use sparingly.
+
+// Compiler-dependent macros to declare that functions take printf-like
+// or scanf-like arguments. They are null except for versions of gcc
+// that are known to support the features properly. Functions declared
+// with these attributes will cause compilation warnings if there is a
+// mismatch between the format string and subsequent function parameter
+// types.
+
+// Source compatibility only, ID string not emitted in object file
+
+// __alloc_size can be used to label function arguments that represent the
+// size of memory that the function allocates and returns. The one-argument
+// form labels a single argument that gives the allocation size (where the
+// arguments are numbered from 1):
+//
+// void *malloc(size_t __size) __alloc_size(1);
+//
+// The two-argument form handles the case where the size is calculated as the
+// product of two arguments:
+//
+// void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
+
+// COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
+//
+// DEFAULT By default newly complied code will get POSIX APIs plus
+// Apple API extensions in scope.
+//
+// Most users will use this compilation environment to avoid
+// behavioral differences between 32 and 64 bit code.
+//
+// LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
+// API extensions in scope.
+//
+// This is generally equivalent to the Tiger release compilation
+// environment, except that it cannot be applied to 64 bit code;
+// its use is discouraged.
+//
+// We expect this environment to be deprecated in the future.
+//
+// STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
+// available APIs to exactly the set of APIs defined by the
+// corresponding standard, based on the value defined.
+//
+// A correct, portable definition for _POSIX_C_SOURCE is 200112L.
+// A correct, portable definition for _XOPEN_SOURCE is 600L.
+//
+// Apple API extensions are not visible in this environment,
+// which can cause Apple specific code to fail to compile,
+// or behave incorrectly if prototypes are not in scope or
+// warnings about missing prototypes are not enabled or ignored.
+//
+// In any compilation environment, for correct symbol resolution to occur,
+// function prototypes must be in scope. It is recommended that all Apple
+// tools users add either the "-Wall" or "-Wimplicit-function-declaration"
+// compiler flags to their projects to be warned when a function is being
+// used without a prototype in scope.
+
+// These settings are particular to each product.
+// Platform: MacOSX
+
+// The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
+// legacy code to use the old symbol, thus maintaining binary compatibility
+// while new code can use a standards compliant version of the same function.
+//
+// __DARWIN_ALIAS is used by itself if the function signature has not
+// changed, it is used along with a #ifdef check for __DARWIN_UNIX03
+// if the signature has changed. Because the __LP64__ environment
+// only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
+// defined, but causes __DARWIN_ALIAS to do no symbol mangling.
+//
+// As a special case, when XCode is used to target a specific version of the
+// OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+// will be defined by the compiler, with the digits representing major version
+// time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
+// pre-10.5, and it is the default compilation environment, revert the
+// compilation environment to pre-__DARWIN_UNIX03.
+
+// symbol suffixes used for symbol versioning
+
+// symbol versioning macros
+
+// symbol release macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// POSIX.1 requires that the macros we test be defined before any standard
+// header file is included. This permits us to convert values for feature
+// testing, as necessary, using only _POSIX_C_SOURCE.
+//
+// Here's a quick run-down of the versions:
+// defined(_POSIX_SOURCE) 1003.1-1988
+// _POSIX_C_SOURCE == 1L 1003.1-1990
+// _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
+// _POSIX_C_SOURCE == 199309L 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
+// and the omnibus ISO/IEC 9945-1: 1996
+// _POSIX_C_SOURCE == 200112L 1003.1-2001
+// _POSIX_C_SOURCE == 200809L 1003.1-2008
+//
+// In addition, the X/Open Portability Guide, which is now the Single UNIX
+// Specification, defines a feature-test macro which indicates the version of
+// that specification, and which subsumes _POSIX_C_SOURCE.
+
+// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
+
+// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
+
+// Deal with various X/Open Portability Guides and Single UNIX Spec.
+
+// Deal with all versions of POSIX. The ordering relative to the tests above is
+// important.
+
+// POSIX C deprecation macros
+// Copyright (c) 2010 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Set a single macro which will always be defined and can be used to determine
+// the appropriate namespace. For POSIX, these values will correspond to
+// _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
+// to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
+
+// If the developer has neither requested a strict language mode nor a version
+// of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
+// of __DARWIN_C_FULL.
+
+// long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
+// c99 still want long longs. While not perfect, we allow long longs for
+// g++.
+
+// ****************************************
+//
+// Public darwin-specific feature macros
+//
+
+// _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
+// structures modified for 64-bit inodes (like struct stat) will be used.
+
+// _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
+// be 64-bit; there is no support for 32-bit ino_t when this macro is defined
+// (and non-zero). There is no struct stat64 either, as the regular
+// struct stat will already be the 64-bit version.
+
+// _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
+// in 10.5 exists; no pre-10.5 variants are available.
+
+// _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
+// are available (the legacy BSD APIs are not available)
+
+// _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
+// and specifies the conformance level (3 is SUSv3)
+
+// This macro casts away the qualifier from the variable
+//
+// Note: use at your own risk, removing qualifiers can result in
+// catastrophic run-time failures.
+
+// __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
+// used from other compilation units, but not other libraries or executables.
+
+// Architecture validation for current SDK
+
+// Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
+//
+// This provides more advanced type checking on compilers supporting
+// the proper extensions, even in C.
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+
+// This header file contains integer types. It's intended to also contain
+// flotaing point and other arithmetic types, as needed, later.
+
+type X__int8_t = int8 /* _types.h:13:33 */
+type X__uint8_t = uint8 /* _types.h:17:33 */
+type X__int16_t = int16 /* _types.h:18:33 */
+type X__uint16_t = uint16 /* _types.h:19:33 */
+type X__int32_t = int32 /* _types.h:20:33 */
+type X__uint32_t = uint32 /* _types.h:21:33 */
+type X__int64_t = int64 /* _types.h:22:33 */
+type X__uint64_t = uint64 /* _types.h:23:33 */
+
+type X__darwin_intptr_t = int64 /* _types.h:25:33 */
+type X__darwin_natural_t = uint32 /* _types.h:26:33 */
+
+// The rune type below is declared to be an ``int'' instead of the more natural
+// ``unsigned long'' or ``long''. Two things are happening here. It is not
+// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+// it looks like 10646 will be a 31 bit standard. This means that if your
+// ints cannot hold 32 bits, you will be in trouble. The reason an int was
+// chosen over a long is that the is*() and to*() routines take ints (says
+// ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
+// here, you lose a bit of ANSI conformance, but your programs will still
+// work.
+//
+// NOTE: rune_t is not covered by ANSI nor other standards, and should not
+// be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+// rune_t must be the same type. Also wint_t must be no narrower than
+// wchar_t, and should also be able to hold all members of the largest
+// character set plus one extra value (WEOF). wint_t must be at least 16 bits.
+
+type X__darwin_ct_rune_t = int32 /* _types.h:46:33 */ // ct_rune_t
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ _ [0]uint64
+ F__mbstate8 [128]int8
+} /* _types.h:55:3 */
+
+type X__darwin_mbstate_t = X__mbstate_t /* _types.h:57:33 */ // mbstate_t
+
+type X__darwin_ptrdiff_t = int64 /* _types.h:60:33 */ // ptr1 - ptr2
+
+type X__darwin_size_t = uint64 /* _types.h:68:33 */ // sizeof()
+
+type X__darwin_va_list = X__builtin_va_list /* _types.h:74:33 */ // va_list
+
+type X__darwin_wchar_t = int32 /* _types.h:80:33 */ // wchar_t
+
+type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:85:33 */ // rune_t
+
+type X__darwin_wint_t = int32 /* _types.h:88:33 */ // wint_t
+
+type X__darwin_clock_t = uint64 /* _types.h:93:33 */ // clock()
+type X__darwin_socklen_t = X__uint32_t /* _types.h:94:33 */ // socklen_t (duh)
+type X__darwin_ssize_t = int64 /* _types.h:95:33 */ // byte count or error
+type X__darwin_time_t = int64 /* _types.h:96:33 */ // time()
+
+// Type definitions; takes common type definitions that must be used
+// in multiple header files due to [XSI], removes them from the system
+// space, and puts them in the implementation space.
+
+type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
+type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
+type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
+type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
+type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
+type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
+type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
+type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
+type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
+type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
+type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
+type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
+type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
+type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
+type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
+type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
+type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
+type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
+type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
+type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
+
+// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// pthread opaque structures
+
+type X__darwin_pthread_handler_rec = struct {
+ F__routine uintptr
+ F__arg uintptr
+ F__next uintptr
+} /* _pthread_types.h:57:1 */
+
+type X_opaque_pthread_attr_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:63:1 */
+
+type X_opaque_pthread_cond_t = struct {
+ F__sig int64
+ F__opaque [40]int8
+} /* _pthread_types.h:68:1 */
+
+type X_opaque_pthread_condattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:73:1 */
+
+type X_opaque_pthread_mutex_t = struct {
+ F__sig int64
+ F__opaque [56]int8
+} /* _pthread_types.h:78:1 */
+
+type X_opaque_pthread_mutexattr_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:83:1 */
+
+type X_opaque_pthread_once_t = struct {
+ F__sig int64
+ F__opaque [8]int8
+} /* _pthread_types.h:88:1 */
+
+type X_opaque_pthread_rwlock_t = struct {
+ F__sig int64
+ F__opaque [192]int8
+} /* _pthread_types.h:93:1 */
+
+type X_opaque_pthread_rwlockattr_t = struct {
+ F__sig int64
+ F__opaque [16]int8
+} /* _pthread_types.h:98:1 */
+
+type X_opaque_pthread_t = struct {
+ F__sig int64
+ F__cleanup_stack uintptr
+ F__opaque [8176]int8
+} /* _pthread_types.h:103:1 */
+
+type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
+type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
+type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
+type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
+type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
+type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
+type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
+type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
+type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
+type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+type X__darwin_nl_item = int32 /* _types.h:40:14 */
+type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
+type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+type Wctrans_t = X__darwin_wctrans_t /* _wctrans_t.h:32:28 */
+
+// -
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+
+// Common header for wctype.h and wchar.h
+//
+// Contains everything required by wctype.h except:
+//
+// #include <_types/_wctrans_t.h>
+// int iswblank(wint_t);
+// wint_t towctrans(wint_t, wctrans_t);
+// wctrans_t wctrans(const char *);
+
+// Copyright (c) 2017 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+// -
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+
+// Common header for _wctype.h and xlocale/__wctype.h
+
+// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright 1995 NeXT Computer, Inc. All rights reserved.
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Wint_t = X__darwin_wint_t /* _wint_t.h:32:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
+//
+// @APPLE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this
+// file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_LICENSE_HEADER_END@
+
+type Wctype_t = X__darwin_wctype_t /* _wctype_t.h:32:27 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Ct_rune_t = X__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+type Rune_t = X__darwin_rune_t /* _rune_t.h:31:25 */
+// Copyright (c) 2012 Apple Inc. All rights reserved.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+//
+// This file contains Original Code and/or Modifications of Original Code
+// as defined in and that are subject to the Apple Public Source License
+// Version 2.0 (the 'License'). You may not use this file except in
+// compliance with the License. The rights granted to you under the License
+// may not be used to create, or enable the creation or redistribution of,
+// unlawful or unlicensed copies of an Apple operating system, or to
+// circumvent, violate, or enable the circumvention or violation of, any
+// terms of an Apple operating system software license agreement.
+//
+// Please obtain a copy of the License at
+// http://www.opensource.apple.com/apsl/ and read it before using this file.
+//
+// The Original Code and all software distributed under the License are
+// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+// Please see the License for the specific language governing rights and
+// limitations under the License.
+//
+// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+
+// The lower 8 bits of runetype[] contain the digit value of the rune.
+type X_RuneEntry = struct {
+ F__min X__darwin_rune_t
+ F__max X__darwin_rune_t
+ F__map X__darwin_rune_t
+ F__ccgo_pad1 [4]byte
+ F__types uintptr
+} /* runetype.h:65:3 */
+
+type X_RuneRange = struct {
+ F__nranges int32
+ F__ccgo_pad1 [4]byte
+ F__ranges uintptr
+} /* runetype.h:70:3 */
+
+type X_RuneCharClass = struct {
+ F__name [14]int8
+ F__ccgo_pad1 [2]byte
+ F__mask X__uint32_t
+} /* runetype.h:75:3 */
+
+type X_RuneLocale = struct {
+ F__magic [8]int8
+ F__encoding [32]int8
+ F__sgetrune uintptr
+ F__sputrune uintptr
+ F__invalid_rune X__darwin_rune_t
+ F__runetype [256]X__uint32_t
+ F__maplower [256]X__darwin_rune_t
+ F__mapupper [256]X__darwin_rune_t
+ F__ccgo_pad1 [4]byte
+ F__runetype_ext X_RuneRange
+ F__maplower_ext X_RuneRange
+ F__mapupper_ext X_RuneRange
+ F__variable uintptr
+ F__variable_len int32
+ F__ncharclasses int32
+ F__charclasses uintptr
+} /* runetype.h:106:3 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_freebsd_amd64.go b/vendor/modernc.org/libc/wctype/wctype_freebsd_amd64.go
new file mode 100644
index 000000000..b4bf6b084
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_freebsd_amd64.go
@@ -0,0 +1,796 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_freebsd_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ X_CACHED_RUNES = 256
+ X_CRMASK = -256
+ X_CTYPE_A = 0x00000100
+ X_CTYPE_B = 0x00020000
+ X_CTYPE_C = 0x00000200
+ X_CTYPE_D = 0x00000400
+ X_CTYPE_G = 0x00000800
+ X_CTYPE_I = 0x00080000
+ X_CTYPE_L = 0x00001000
+ X_CTYPE_N = 0x00400000
+ X_CTYPE_P = 0x00002000
+ X_CTYPE_Q = 0x00200000
+ X_CTYPE_R = 0x00040000
+ X_CTYPE_S = 0x00004000
+ X_CTYPE_SW0 = 0x20000000
+ X_CTYPE_SW1 = 0x40000000
+ X_CTYPE_SW2 = 0x80000000
+ X_CTYPE_SW3 = 0xc0000000
+ X_CTYPE_SWM = 0xe0000000
+ X_CTYPE_SWS = 30
+ X_CTYPE_T = 0x00100000
+ X_CTYPE_U = 0x00008000
+ X_CTYPE_X = 0x00010000
+ X_FILE_OFFSET_BITS = 64
+ X_LOCALE_T_DEFINED = 0
+ X_LP64 = 1
+ X_MACHINE__LIMITS_H_ = 0
+ X_MACHINE__TYPES_H_ = 0
+ X_Nonnull = 0
+ X_Null_unspecified = 0
+ X_Nullable = 0
+ X_RUNETYPE_H_ = 0
+ X_RUNE_MAGIC_1 = "RuneMagi"
+ X_SYS_CDEFS_H_ = 0
+ X_SYS__TYPES_H_ = 0
+ X_WCTRANS_T = 0
+ X_WCTYPE_H_ = 0
+ X_WCTYPE_T = 0
+ X_WINT_T_DECLARED = 0
+ X_XLOCALE_RUN_FUNCTIONS_DEFINED = 1
+ X_XLOCALE_WCTYPE_H = 0
+ Unix = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause
+//
+// Copyright (c)1999 Citrus Project,
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
+// $NetBSD: wctype.h,v 1.3 2000/12/22 14:16:16 itojun Exp $
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// Testing against Clang-specific extensions.
+
+// This code has been put in place to help reduce the addition of
+// compiler specific defines in FreeBSD code. It helps to aid in
+// having a compiler-agnostic source tree.
+
+// Compiler memory barriers, specific to gcc and clang.
+
+// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
+
+// Macro to test if we're using a specific version of gcc or later.
+
+// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
+// mode -- there must be no spaces between its arguments, and for nested
+// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
+// concatenate double-quoted strings produced by the __STRING macro, but
+// this only works with ANSI C.
+//
+// __XSTRING is like __STRING, but it expands any macros in its argument
+// first. It is only available with ANSI C.
+
+// Compiler-dependent macros to help declare dead (non-returning) and
+// pure (no side effects) functions, and unused variables. They are
+// null except for versions of gcc that are known to support the features
+// properly (old versions of gcc-2 supported the dead and pure features
+// in a different (wrong) way). If we do not provide an implementation
+// for a given compiler, let the compile fail if it is told to use
+// a feature that we cannot live without.
+
+// Keywords added in C11.
+
+// Emulation of C11 _Generic(). Unlike the previously defined C11
+// keywords, it is not possible to implement this using exactly the same
+// syntax. Therefore implement something similar under the name
+// __generic(). Unlike _Generic(), this macro can only distinguish
+// between a single type, so it requires nested invocations to
+// distinguish multiple cases.
+
+// C99 Static array indices in function parameter declarations. Syntax such as:
+// void bar(int myArray[static 10]);
+// is allowed in C99 but not in C++. Define __min_size appropriately so
+// headers using it can be compiled in either language. Use like this:
+// void bar(int myArray[__min_size(10)]);
+
+// XXX: should use `#if __STDC_VERSION__ < 199901'.
+
+// C++11 exposes a load of C99 stuff
+
+// GCC 2.95 provides `__restrict' as an extension to C90 to support the
+// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
+// a way to define the `restrict' type qualifier without disturbing older
+// software that is unaware of C99 keywords.
+
+// GNU C version 2.96 adds explicit branch prediction so that
+// the CPU back-end can hint the processor and also so that
+// code blocks can be reordered such that the predicted path
+// sees a more linear flow, thus improving cache behavior, etc.
+//
+// The following two macros provide us with a way to utilize this
+// compiler feature. Use __predict_true() if you expect the expression
+// to evaluate to true, and __predict_false() if you expect the
+// expression to evaluate to false.
+//
+// A few notes about usage:
+//
+// * Generally, __predict_false() error condition checks (unless
+// you have some _strong_ reason to do otherwise, in which case
+// document it), and/or __predict_true() `no-error' condition
+// checks, assuming you want to optimize for the no-error case.
+//
+// * Other than that, if you don't know the likelihood of a test
+// succeeding from empirical or other `hard' evidence, don't
+// make predictions.
+//
+// * These are meant to be used in places that are run `a lot'.
+// It is wasteful to make predictions in code that is run
+// seldomly (e.g. at subsystem initialization time) as the
+// basic block reordering that this affects can often generate
+// larger code.
+
+// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
+// require it.
+
+// Given the pointer x to the member m of the struct s, return
+// a pointer to the containing structure. When using GCC, we first
+// assign pointer x to a local variable, to check that its type is
+// compatible with member m.
+
+// Compiler-dependent macros to declare that functions take printf-like
+// or scanf-like arguments. They are null except for versions of gcc
+// that are known to support the features properly (old versions of gcc-2
+// didn't permit keeping the keywords out of the application namespace).
+
+// Compiler-dependent macros that rely on FreeBSD-specific extensions.
+
+// Embed the rcs id of a source file in the resulting library. Note that in
+// more recent ELF binutils, we use .ident allowing the ID to be stripped.
+// Usage:
+// __FBSDID("$FreeBSD$");
+
+// -
+// The following definitions are an extension of the behavior originally
+// implemented in <sys/_posix.h>, but with a different level of granularity.
+// POSIX.1 requires that the macros we test be defined before any standard
+// header file is included.
+//
+// Here's a quick run-down of the versions:
+// defined(_POSIX_SOURCE) 1003.1-1988
+// _POSIX_C_SOURCE == 1 1003.1-1990
+// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
+// _POSIX_C_SOURCE == 199309 1003.1b-1993
+// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
+// and the omnibus ISO/IEC 9945-1: 1996
+// _POSIX_C_SOURCE == 200112 1003.1-2001
+// _POSIX_C_SOURCE == 200809 1003.1-2008
+//
+// In addition, the X/Open Portability Guide, which is now the Single UNIX
+// Specification, defines a feature-test macro which indicates the version of
+// that specification, and which subsumes _POSIX_C_SOURCE.
+//
+// Our macros begin with two underscores to avoid namespace screwage.
+
+// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
+
+// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
+
+// Deal with various X/Open Portability Guides and Single UNIX Spec.
+
+// Deal with all versions of POSIX. The ordering relative to the tests above is
+// important.
+// -
+// Deal with _ANSI_SOURCE:
+// If it is defined, and no other compilation environment is explicitly
+// requested, then define our internal feature-test macros to zero. This
+// makes no difference to the preprocessor (undefined symbols in preprocessing
+// expressions are defined to have value zero), but makes it more convenient for
+// a test program to print out the values.
+//
+// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
+// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
+// environment (and in fact we will never get here).
+
+// User override __EXT1_VISIBLE
+
+// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
+// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
+
+// Nullability qualifiers: currently only supported by Clang.
+
+// Type Safety Checking
+//
+// Clang provides additional attributes to enable checking type safety
+// properties that cannot be enforced by the C type system.
+
+// Lock annotations.
+//
+// Clang provides support for doing basic thread-safety tests at
+// compile-time, by marking which locks will/should be held when
+// entering/leaving a functions.
+//
+// Furthermore, it is also possible to annotate variables and structure
+// members to enforce that they are only accessed when certain locks are
+// held.
+
+// Structure implements a lock.
+
+// Function acquires an exclusive or shared lock.
+
+// Function attempts to acquire an exclusive or shared lock.
+
+// Function releases a lock.
+
+// Function asserts that an exclusive or shared lock is held.
+
+// Function requires that an exclusive or shared lock is or is not held.
+
+// Function should not be analyzed.
+
+// Function or variable should not be sanitized, i.e. by AddressSanitizer.
+// GCC has the nosanitize attribute, but as a function attribute only, and
+// warns on use as a variable attribute.
+
+// Guard variables and structure members by lock.
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// This file is in the public domain.
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-4-Clause
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// Copyright (c) 1990, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. All advertising materials mentioning features or use of this software
+// must display the following acknowledgement:
+// This product includes software developed by the University of
+// California, Berkeley and its contributors.
+// 4. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
+// From: @(#)types.h 8.3 (Berkeley) 1/5/94
+// $FreeBSD$
+
+// -
+// This file is in the public domain.
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1988, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)limits.h 8.3 (Berkeley) 1/4/94
+// $FreeBSD$
+
+// According to ANSI (section 2.2.4.2), the values below must be usable by
+// #if preprocessing directives. Additionally, the expression must have the
+// same type as would an expression that is an object of the corresponding
+// type converted according to the integral promotions. The subtraction for
+// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
+// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
+
+// max value for an unsigned long long
+
+// Quads and longs are the same on the amd64. Ensure they stay in sync.
+
+// Minimum signal stack size.
+
+// Basic types upon which most other types are built.
+type X__int8_t = int8 /* _types.h:55:22 */
+type X__uint8_t = uint8 /* _types.h:56:24 */
+type X__int16_t = int16 /* _types.h:57:17 */
+type X__uint16_t = uint16 /* _types.h:58:25 */
+type X__int32_t = int32 /* _types.h:59:15 */
+type X__uint32_t = uint32 /* _types.h:60:23 */
+type X__int64_t = int64 /* _types.h:62:16 */
+type X__uint64_t = uint64 /* _types.h:63:24 */
+
+// Standard type definitions.
+type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
+type X__critical_t = X__int64_t /* _types.h:76:19 */
+type X__double_t = float64 /* _types.h:78:17 */
+type X__float_t = float32 /* _types.h:79:16 */
+type X__intfptr_t = X__int64_t /* _types.h:81:19 */
+type X__intptr_t = X__int64_t /* _types.h:82:19 */
+type X__intmax_t = X__int64_t /* _types.h:93:19 */
+type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
+type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
+type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
+type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
+type X__int_least8_t = X__int8_t /* _types.h:98:18 */
+type X__int_least16_t = X__int16_t /* _types.h:99:19 */
+type X__int_least32_t = X__int32_t /* _types.h:100:19 */
+type X__int_least64_t = X__int64_t /* _types.h:101:19 */
+type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
+type X__register_t = X__int64_t /* _types.h:104:19 */
+type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
+type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
+type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
+type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
+type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
+type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
+type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
+type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
+type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
+type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
+type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
+type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
+type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
+type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
+type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
+type X__u_register_t = X__uint64_t /* _types.h:131:20 */
+type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
+type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
+type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
+type X___wchar_t = int32 /* _types.h:141:14 */
+
+// Standard type definitions.
+type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
+type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
+type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
+type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
+type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
+type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
+type X__gid_t = X__uint32_t /* _types.h:46:20 */
+type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
+type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
+type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
+type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
+type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
+type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
+type X__nl_item = int32 /* _types.h:53:14 */
+type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
+type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
+type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
+type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
+type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
+// signed, because of legacy code
+// that uses -1 for RLIM_INFINITY
+type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
+type X__socklen_t = X__uint32_t /* _types.h:62:20 */
+type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
+type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
+type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
+type X__uid_t = X__uint32_t /* _types.h:66:20 */
+type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
+type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
+type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
+type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
+type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
+
+// Unusual type definitions.
+// rune_t is declared to be an ``int'' instead of the more natural
+// ``unsigned long'' or ``long''. Two things are happening here. It is not
+// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
+// it looks like 10646 will be a 31 bit standard. This means that if your
+// ints cannot hold 32 bits, you will be in trouble. The reason an int was
+// chosen over a long is that the is*() and to*() routines take ints (says
+// ANSI C), but they use __ct_rune_t instead of int.
+//
+// NOTE: rune_t is not covered by ANSI nor other standards, and should not
+// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
+// rune_t must be the same type. Also, wint_t should be able to hold all
+// members of the largest character set plus one extra value (WEOF), and
+// must be at least 16 bits.
+type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
+type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
+type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
+
+// Clang already provides these types as built-ins, but only in C++ mode.
+type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
+type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
+// In C++11, char16_t and char32_t are built-in types.
+
+type X__max_align_t = struct {
+ F__max_align1 int64
+ F__max_align2 float64
+} /* _types.h:111:3 */
+
+type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
+
+type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
+
+// mbstate_t is an opaque object to keep conversion state during multibyte
+// stream conversions.
+type X__mbstate_t = struct {
+ F__ccgo_pad1 [0]uint64
+ F__mbstate8 [128]int8
+} /* _types.h:124:3 */
+
+type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
+
+// Types for varargs. These are all provided by builtin types these
+// days, so centralize their definition.
+type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
+type X__gnuc_va_list = X__va_list /* _types.h:140:20 */
+
+// Use inline functions if we are allowed to and the compiler supports them.
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Paul Borman at Krystal Technologies.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)runetype.h 8.1 (Berkeley) 6/2/93
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-3-Clause
+//
+// Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+// $FreeBSD$
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+// The lower 8 bits of runetype[] contain the digit value of the rune.
+type X_RuneEntry = struct {
+ F__min X__rune_t
+ F__max X__rune_t
+ F__map X__rune_t
+ F__ccgo_pad1 [4]byte
+ F__types uintptr
+} /* runetype.h:55:3 */
+
+type X_RuneRange = struct {
+ F__nranges int32
+ F__ccgo_pad1 [4]byte
+ F__ranges uintptr
+} /* runetype.h:60:3 */
+
+type X_RuneLocale = struct {
+ F__magic [8]int8
+ F__encoding [32]int8
+ F__sgetrune uintptr
+ F__sputrune uintptr
+ F__invalid_rune X__rune_t
+ F__ccgo_pad1 [4]byte
+ F__runetype [256]uint64
+ F__maplower [256]X__rune_t
+ F__mapupper [256]X__rune_t
+ F__runetype_ext X_RuneRange
+ F__maplower_ext X_RuneRange
+ F__mapupper_ext X_RuneRange
+ F__variable uintptr
+ F__variable_len int32
+ F__ccgo_pad2 [4]byte
+} /* runetype.h:85:3 */
+
+type Wctrans_t = int32 /* wctype.h:42:13 */
+
+type Wctype_t = uint64 /* wctype.h:47:23 */
+
+type Wint_t = X__wint_t /* wctype.h:52:18 */
+
+// -
+// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+//
+// Copyright (c) 2011 The FreeBSD Foundation
+// All rights reserved.
+//
+// This software was developed by David Chisnall under sponsorship from
+// the FreeBSD Foundation.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// $FreeBSD$
+
+type Locale_t = uintptr /* _ctype.h:46:25 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_linux_386.go b/vendor/modernc.org/libc/wctype/wctype_linux_386.go
new file mode 100644
index 000000000..574e2a3c8
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_linux_386.go
@@ -0,0 +1,931 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_386.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ WEOF = 4294967295
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_TYPES_LOCALE_T_H = 1
+ X_BITS_TYPES___LOCALE_T_H = 1
+ X_BITS_WCTYPE_WCHAR_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_ILP32 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STDC_PREDEF_H = 1
+ X_SYS_CDEFS_H = 1
+ X_WCTYPE_H = 1
+ X_WINT_T = 1
+ I386 = 1
+ Linux = 1
+ Unix = 1
+)
+
+// The characteristics are stored always in network byte order (big
+// endian). We define the bit value interpretations here dependent on the
+// machine's byte order.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
+const ( /* wctype-wchar.h:56:1: */
+ X__ISwupper = 0 // UPPERCASE.
+ X__ISwlower = 1 // lowercase.
+ X__ISwalpha = 2 // Alphabetic.
+ X__ISwdigit = 3 // Numeric.
+ X__ISwxdigit = 4 // Hexadecimal numeric.
+ X__ISwspace = 5 // Whitespace.
+ X__ISwprint = 6 // Printing.
+ X__ISwgraph = 7 // Graphical.
+ X__ISwblank = 8 // Blank (usually SPC and TAB).
+ X__ISwcntrl = 9 // Control character.
+ X__ISwpunct = 10 // Punctuation.
+ X__ISwalnum = 11 // Alphanumeric.
+
+ X_ISwupper = 16777216 // UPPERCASE.
+ X_ISwlower = 33554432 // lowercase.
+ X_ISwalpha = 67108864 // Alphabetic.
+ X_ISwdigit = 134217728 // Numeric.
+ X_ISwxdigit = 268435456 // Hexadecimal numeric.
+ X_ISwspace = 536870912 // Whitespace.
+ X_ISwprint = 1073741824 // Printing.
+ X_ISwgraph = -2147483648 // Graphical.
+ X_ISwblank = 65536 // Blank (usually SPC and TAB).
+ X_ISwcntrl = 131072 // Control character.
+ X_ISwpunct = 262144 // Punctuation.
+ X_ISwalnum = 524288
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// These are defined by the user (or the compiler)
+// to specify the desired environment:
+//
+// __STRICT_ANSI__ ISO Standard C.
+// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+// __STDC_WANT_LIB_EXT2__
+// Extensions to ISO C99 from TR 27431-2:2010.
+// __STDC_WANT_IEC_60559_BFP_EXT__
+// Extensions to ISO C11 from TS 18661-1:2014.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__
+// Extensions to ISO C11 from TS 18661-4:2015.
+// __STDC_WANT_IEC_60559_TYPES_EXT__
+// Extensions to ISO C11 from TS 18661-3:2015.
+//
+// _POSIX_SOURCE IEEE Std 1003.1.
+// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+// if >=199309L, add IEEE Std 1003.1b-1993;
+// if >=199506L, add IEEE Std 1003.1c-1995;
+// if >=200112L, all of IEEE 1003.1-2004
+// if >=200809L, all of IEEE 1003.1-2008
+// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
+// Single Unix conformance is wanted, to 600 for the
+// sixth revision, to 700 for the seventh revision.
+// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
+// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
+// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
+// _FILE_OFFSET_BITS=N Select default filesystem interface.
+// _ATFILE_SOURCE Additional *at interfaces.
+// _GNU_SOURCE All of the above, plus GNU extensions.
+// _DEFAULT_SOURCE The default set of features (taking precedence over
+// __STRICT_ANSI__).
+//
+// _FORTIFY_SOURCE Add security hardening to many library functions.
+// Set to 1 or 2; 2 performs stricter checks than 1.
+//
+// _REENTRANT, _THREAD_SAFE
+// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
+//
+// The `-ansi' switch to the GNU C compiler, and standards conformance
+// options such as `-std=c99', define __STRICT_ANSI__. If none of
+// these are defined, or if _DEFAULT_SOURCE is defined, the default is
+// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+// 200809L, as well as enabling miscellaneous functions from BSD and
+// SVID. If more than one of these are defined, they accumulate. For
+// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+// give you ISO C, 1003.1, and 1003.2, but nothing else.
+//
+// These are defined by this file and are used by the
+// header files to decide what to declare or define:
+//
+// __GLIBC_USE (F) Define things from feature set F. This is defined
+// to 1 or 0; the subsequent macros are either defined
+// or undefined, and those tests should be moved to
+// __GLIBC_USE.
+// __USE_ISOC11 Define ISO C11 things.
+// __USE_ISOC99 Define ISO C99 things.
+// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+// __USE_ISOCXX11 Define ISO C++11 things.
+// __USE_POSIX Define IEEE Std 1003.1 things.
+// __USE_POSIX2 Define IEEE Std 1003.2 things.
+// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
+// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
+// __USE_XOPEN Define XPG things.
+// __USE_XOPEN_EXTENDED Define X/Open Unix things.
+// __USE_UNIX98 Define Single Unix V2 things.
+// __USE_XOPEN2K Define XPG6 things.
+// __USE_XOPEN2KXSI Define XPG6 XSI things.
+// __USE_XOPEN2K8 Define XPG7 things.
+// __USE_XOPEN2K8XSI Define XPG7 XSI things.
+// __USE_LARGEFILE Define correct standard I/O things.
+// __USE_LARGEFILE64 Define LFS things with separate names.
+// __USE_FILE_OFFSET64 Define 64bit interface as default.
+// __USE_MISC Define things from 4.3BSD or System V Unix.
+// __USE_ATFILE Define *at interfaces and AT_* constants for them.
+// __USE_GNU Define GNU extensions.
+// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
+//
+// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
+// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
+// only for compatibility. All new code should use the other symbols
+// to test for features.
+//
+// All macros listed above as possibly being defined by this file are
+// explicitly undefined if they are not explicitly defined.
+// Feature-test macros that are not defined by the user or compiler
+// but are implied by the other feature-test macros defined (or by the
+// lack of any definitions) are defined by the file.
+//
+// ISO C feature test macros depend on the definition of the macro
+// when an affected header is included, not when the first system
+// header is included, and so they are handled in
+// <bits/libc-header-start.h>, which does not have a multiple include
+// guard. Feature test macros that can be handled from the first
+// system header included are handled here.
+
+// Undefine everything, so we get a clean slate.
+
+// Suppress kernel-name space pollution unless user expressedly asks
+// for it.
+
+// Convenience macro to test the version of gcc.
+// Use like this:
+// #if __GNUC_PREREQ (2,8)
+// ... code requiring gcc 2.8 or later ...
+// #endif
+// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
+// added in 2.0.
+
+// Similarly for clang. Features added to GCC after version 4.2 may
+// or may not also be available in clang, and clang's definitions of
+// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
+// features can be queried via __has_extension/__has_feature.
+
+// Whether to use feature set F.
+
+// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
+// issue a warning; the expectation is that the source is being
+// transitioned to use the new macro.
+
+// If _GNU_SOURCE was defined by the user, turn on all the other features.
+
+// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
+// define _DEFAULT_SOURCE.
+
+// This is to enable the ISO C2X extension.
+
+// This is to enable the ISO C11 extension.
+
+// This is to enable the ISO C99 extension.
+
+// This is to enable the ISO C90 Amendment 1:1995 extension.
+
+// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
+// is defined, use POSIX.1-2008 (or another version depending on
+// _XOPEN_SOURCE).
+
+// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+// defined in all multithreaded code. GNU libc has not required this
+// for many years. We now treat them as compatibility synonyms for
+// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
+// comprehensive support for multithreaded code. Using them never
+// lowers the selected level of POSIX conformance, only raises it.
+
+// The function 'gets' existed in C89, but is impossible to use
+// safely. It has been removed from ISO C11 and ISO C++14. Note: for
+// compatibility with various implementations of <cstdio>, this test
+// must consider only the value of __cplusplus when compiling C++.
+
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
+// Get definitions of __STDC_* predefined macros, if the compiler has
+// not preincluded this header automatically.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This macro indicates that the installed library is the GNU C Library.
+// For historic reasons the value now is 6 and this will stay from now
+// on. The use of this variable is deprecated. Use __GLIBC__ and
+// __GLIBC_MINOR__ now (see below) when you want to test for a specific
+// GNU C library version and use the values in <gnu/lib-names.h> to get
+// the sonames of the shared libraries.
+
+// Major and minor version number of the GNU C library package. Use
+// these macros to test for features in specific releases.
+
+// This is here only because every header file already includes this one.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We are almost always included from features.h.
+
+// The GNU libc does not support any K&R compilers or the traditional mode
+// of ISO C compilers anymore. Check for some of the combinations not
+// anymore supported.
+
+// Some user header file might have defined this before.
+
+// All functions, except those with callbacks or those that
+// synchronize memory, are leaf functions.
+
+// GCC can always grok prototypes. For C++ programs we add throw()
+// to help it optimize the function calls. But this works only with
+// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
+// as non-throwing using a function attribute since programs can use
+// the -fexceptions options for C code as well.
+
+// Compilers that are not clang may object to
+// #if defined __clang__ && __has_extension(...)
+// even though they do not need to evaluate the right-hand side of the &&.
+
+// These two macros are not used in glibc anymore. They are kept here
+// only because some other projects expect the macros to be defined.
+
+// For these things, GCC behaves the ANSI way normally,
+// and the non-ANSI way under -traditional.
+
+// This is not a typedef so `const __ptr_t' does the right thing.
+
+// C++ needs to know that types and declarations are C, not C++.
+
+// Fortify support.
+
+// Support for flexible arrays.
+// Headers that should use flexible arrays only if they're "real"
+// (e.g. only if they won't affect sizeof()) should test
+// #if __glibc_c99_flexarr_available.
+
+// __asm__ ("xyz") is used throughout the headers to rename functions
+// at the assembly language level. This is wrapped by the __REDIRECT
+// macro, in order to support compilers that can do this some other
+// way. When compilers don't support asm-names at all, we have to do
+// preprocessor tricks instead (which don't have exactly the right
+// semantics, but it's the best we can do).
+//
+// Example:
+// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
+
+//
+// #elif __SOME_OTHER_COMPILER__
+//
+// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
+
+// GCC has various useful declarations that can be made with the
+// `__attribute__' syntax. All of the ways we use this do fine if
+// they are omitted for compilers that don't understand it.
+
+// At some point during the gcc 2.96 development the `malloc' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Tell the compiler which arguments to an allocation function
+// indicate the size of the allocation.
+
+// At some point during the gcc 2.96 development the `pure' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// This declaration tells the compiler that the value is constant.
+
+// At some point during the gcc 3.1 development the `used' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Since version 3.2, gcc allows marking deprecated functions.
+
+// Since version 4.5, gcc also allows one to specify the message printed
+// when a deprecated function is used. clang claims to be gcc 4.2, but
+// may also support this feature.
+
+// At some point during the gcc 2.8 development the `format_arg' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+// If several `format_arg' attributes are given for the same function, in
+// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
+// all designated arguments are considered.
+
+// At some point during the gcc 2.97 development the `strfmon' format
+// attribute for functions was introduced. We don't want to use it
+// unconditionally (although this would be possible) since it
+// generates warnings.
+
+// The nonull function attribute allows to mark pointer parameters which
+// must not be NULL.
+
+// If fortification mode, we warn about unused results of certain
+// function calls which can lead to problems.
+
+// Forces a function to be always inlined.
+// The Linux kernel defines __always_inline in stddef.h (283d7573), and
+// it conflicts with this definition. Therefore undefine it first to
+// allow either header to be included first.
+
+// Associate error messages with the source location of the call site rather
+// than with the source location inside the function.
+
+// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
+// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+// older than 4.3 may define these macros and still not guarantee GNU inlining
+// semantics.
+//
+// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+// __GNUC_GNU_INLINE__ macro definitions.
+
+// GCC 4.3 and above allow passing all anonymous arguments of an
+// __extern_always_inline function to some other vararg function.
+
+// It is possible to compile containing GCC extensions even if GCC is
+// run in pedantic mode if the uses are carefully marked using the
+// `__extension__' keyword. But this is not generally available before
+// version 2.8.
+
+// __restrict is known in EGCS 1.2 and above.
+
+// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+// array_name[restrict]
+// GCC 3.1 supports this.
+
+// Describes a char array whose address can safely be passed as the first
+// argument to strncpy and strncat, as the char array is not necessarily
+// a NUL-terminated string.
+
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Properties of long double type. ldbl-96 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
+// intended for use in preprocessor macros.
+//
+// Note: MESSAGE must be a _single_ string; concatenation of string
+// literals is not supported.
+
+// Generic selection (ISO C11) is a C-only feature, available in GCC
+// since version 4.9. Previous versions do not provide generic
+// selection, even though they might set __STDC_VERSION__ to 201112L,
+// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
+// when testing __STDC_VERSION__ for generic selection support.
+// On the other hand, Clang also defines __GNUC__, so a clang-specific
+// check is required to enable the use of generic selection.
+
+// If we don't have __REDIRECT, prototypes will be missing if
+// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
+
+// Decide whether we can define 'extern inline' functions in headers.
+
+// This is here only because every header file already includes this one.
+// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
+// that will always return failure (and set errno to ENOSYS).
+// This file is automatically generated.
+// This file selects the right generated file of `__stub_FUNCTION' macros
+// based on the architecture being compiled for.
+
+// This file is automatically generated.
+// It defines a symbol `__stub_FUNCTION' for each function
+// in the C library which is a stub, meaning it will fail
+// every time called, usually setting errno to ENOSYS.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// We want __extension__ before typedef's that use nonstandard base types
+// such as `long long' in C89 mode.
+// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// X32 kernel interface is 64-bit.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int32 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int32 /* types.h:191:28 */
+
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int32 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int32 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
+
+// Some versions of stddef.h provide wint_t, even though neither the
+// C nor C++ standards, nor POSIX, specifies this. We assume that
+// stddef.h will define the macro _WINT_T if and only if it provides
+// wint_t, and conversely, that it will avoid providing wint_t if
+// _WINT_T is already defined.
+
+// Integral type unchanged by default argument promotions that can
+// hold any value corresponding to members of the extended character
+// set, as well as at least one value that does not correspond to any
+// member of the extended character set.
+
+type Wint_t = uint32 /* wint_t.h:20:23 */
+
+// Constant expression of type `wint_t' whose value does not correspond
+// to any member of the extended character set.
+
+// Some definitions from this header also appear in <wchar.h> in
+// Unix98 mode.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// The definitions in this header are specified to appear in <wctype.h>
+// in ISO C99, but in <wchar.h> in Unix98. _GNU_SOURCE follows C99.
+
+// Scalar type that can hold values which represent locale-specific
+// character classifications.
+type Wctype_t = uint32 /* wctype-wchar.h:38:27 */
+
+// Extensible wide-character mapping functions: 7.15.3.2.
+
+// Scalar type that can hold values which represent locale-specific
+// character mappings.
+type Wctrans_t = uintptr /* wctype.h:48:25 */
+
+// POSIX.1-2008 extended locale interface (see locale.h).
+// Definition of locale_t.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Definition of struct __locale_struct and __locale_t.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX.1-2008: the locale_t type, representing a locale context
+// (implementation-namespace version). This type should be treated
+// as opaque by applications; some details are exposed for the sake of
+// efficiency in e.g. ctype functions.
+
+type X__locale_struct = struct {
+ F__locales [13]uintptr
+ F__ctype_b uintptr
+ F__ctype_tolower uintptr
+ F__ctype_toupper uintptr
+ F__names [13]uintptr
+} /* __locale_t.h:28:1 */
+
+type X__locale_t = uintptr /* __locale_t.h:42:32 */
+
+type Locale_t = X__locale_t /* locale_t.h:24:20 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_linux_amd64.go b/vendor/modernc.org/libc/wctype/wctype_linux_amd64.go
new file mode 100644
index 000000000..35d7ee904
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_linux_amd64.go
@@ -0,0 +1,949 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ WEOF = 4294967295
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_TYPES_LOCALE_T_H = 1
+ X_BITS_TYPES___LOCALE_T_H = 1
+ X_BITS_WCTYPE_WCHAR_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STDC_PREDEF_H = 1
+ X_SYS_CDEFS_H = 1
+ X_WCTYPE_H = 1
+ X_WINT_T = 1
+ Linux = 1
+ Unix = 1
+)
+
+// The characteristics are stored always in network byte order (big
+// endian). We define the bit value interpretations here dependent on the
+// machine's byte order.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// i386/x86_64 are little-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
+const ( /* wctype-wchar.h:56:1: */
+ X__ISwupper = 0 // UPPERCASE.
+ X__ISwlower = 1 // lowercase.
+ X__ISwalpha = 2 // Alphabetic.
+ X__ISwdigit = 3 // Numeric.
+ X__ISwxdigit = 4 // Hexadecimal numeric.
+ X__ISwspace = 5 // Whitespace.
+ X__ISwprint = 6 // Printing.
+ X__ISwgraph = 7 // Graphical.
+ X__ISwblank = 8 // Blank (usually SPC and TAB).
+ X__ISwcntrl = 9 // Control character.
+ X__ISwpunct = 10 // Punctuation.
+ X__ISwalnum = 11 // Alphanumeric.
+
+ X_ISwupper = 16777216 // UPPERCASE.
+ X_ISwlower = 33554432 // lowercase.
+ X_ISwalpha = 67108864 // Alphabetic.
+ X_ISwdigit = 134217728 // Numeric.
+ X_ISwxdigit = 268435456 // Hexadecimal numeric.
+ X_ISwspace = 536870912 // Whitespace.
+ X_ISwprint = 1073741824 // Printing.
+ X_ISwgraph = -2147483648 // Graphical.
+ X_ISwblank = 65536 // Blank (usually SPC and TAB).
+ X_ISwcntrl = 131072 // Control character.
+ X_ISwpunct = 262144 // Punctuation.
+ X_ISwalnum = 524288
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// These are defined by the user (or the compiler)
+// to specify the desired environment:
+//
+// __STRICT_ANSI__ ISO Standard C.
+// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+// __STDC_WANT_LIB_EXT2__
+// Extensions to ISO C99 from TR 27431-2:2010.
+// __STDC_WANT_IEC_60559_BFP_EXT__
+// Extensions to ISO C11 from TS 18661-1:2014.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__
+// Extensions to ISO C11 from TS 18661-4:2015.
+// __STDC_WANT_IEC_60559_TYPES_EXT__
+// Extensions to ISO C11 from TS 18661-3:2015.
+//
+// _POSIX_SOURCE IEEE Std 1003.1.
+// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+// if >=199309L, add IEEE Std 1003.1b-1993;
+// if >=199506L, add IEEE Std 1003.1c-1995;
+// if >=200112L, all of IEEE 1003.1-2004
+// if >=200809L, all of IEEE 1003.1-2008
+// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
+// Single Unix conformance is wanted, to 600 for the
+// sixth revision, to 700 for the seventh revision.
+// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
+// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
+// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
+// _FILE_OFFSET_BITS=N Select default filesystem interface.
+// _ATFILE_SOURCE Additional *at interfaces.
+// _GNU_SOURCE All of the above, plus GNU extensions.
+// _DEFAULT_SOURCE The default set of features (taking precedence over
+// __STRICT_ANSI__).
+//
+// _FORTIFY_SOURCE Add security hardening to many library functions.
+// Set to 1 or 2; 2 performs stricter checks than 1.
+//
+// _REENTRANT, _THREAD_SAFE
+// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
+//
+// The `-ansi' switch to the GNU C compiler, and standards conformance
+// options such as `-std=c99', define __STRICT_ANSI__. If none of
+// these are defined, or if _DEFAULT_SOURCE is defined, the default is
+// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+// 200809L, as well as enabling miscellaneous functions from BSD and
+// SVID. If more than one of these are defined, they accumulate. For
+// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+// give you ISO C, 1003.1, and 1003.2, but nothing else.
+//
+// These are defined by this file and are used by the
+// header files to decide what to declare or define:
+//
+// __GLIBC_USE (F) Define things from feature set F. This is defined
+// to 1 or 0; the subsequent macros are either defined
+// or undefined, and those tests should be moved to
+// __GLIBC_USE.
+// __USE_ISOC11 Define ISO C11 things.
+// __USE_ISOC99 Define ISO C99 things.
+// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+// __USE_ISOCXX11 Define ISO C++11 things.
+// __USE_POSIX Define IEEE Std 1003.1 things.
+// __USE_POSIX2 Define IEEE Std 1003.2 things.
+// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
+// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
+// __USE_XOPEN Define XPG things.
+// __USE_XOPEN_EXTENDED Define X/Open Unix things.
+// __USE_UNIX98 Define Single Unix V2 things.
+// __USE_XOPEN2K Define XPG6 things.
+// __USE_XOPEN2KXSI Define XPG6 XSI things.
+// __USE_XOPEN2K8 Define XPG7 things.
+// __USE_XOPEN2K8XSI Define XPG7 XSI things.
+// __USE_LARGEFILE Define correct standard I/O things.
+// __USE_LARGEFILE64 Define LFS things with separate names.
+// __USE_FILE_OFFSET64 Define 64bit interface as default.
+// __USE_MISC Define things from 4.3BSD or System V Unix.
+// __USE_ATFILE Define *at interfaces and AT_* constants for them.
+// __USE_GNU Define GNU extensions.
+// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
+//
+// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
+// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
+// only for compatibility. All new code should use the other symbols
+// to test for features.
+//
+// All macros listed above as possibly being defined by this file are
+// explicitly undefined if they are not explicitly defined.
+// Feature-test macros that are not defined by the user or compiler
+// but are implied by the other feature-test macros defined (or by the
+// lack of any definitions) are defined by the file.
+//
+// ISO C feature test macros depend on the definition of the macro
+// when an affected header is included, not when the first system
+// header is included, and so they are handled in
+// <bits/libc-header-start.h>, which does not have a multiple include
+// guard. Feature test macros that can be handled from the first
+// system header included are handled here.
+
+// Undefine everything, so we get a clean slate.
+
+// Suppress kernel-name space pollution unless user expressedly asks
+// for it.
+
+// Convenience macro to test the version of gcc.
+// Use like this:
+// #if __GNUC_PREREQ (2,8)
+// ... code requiring gcc 2.8 or later ...
+// #endif
+// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
+// added in 2.0.
+
+// Similarly for clang. Features added to GCC after version 4.2 may
+// or may not also be available in clang, and clang's definitions of
+// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
+// features can be queried via __has_extension/__has_feature.
+
+// Whether to use feature set F.
+
+// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
+// issue a warning; the expectation is that the source is being
+// transitioned to use the new macro.
+
+// If _GNU_SOURCE was defined by the user, turn on all the other features.
+
+// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
+// define _DEFAULT_SOURCE.
+
+// This is to enable the ISO C2X extension.
+
+// This is to enable the ISO C11 extension.
+
+// This is to enable the ISO C99 extension.
+
+// This is to enable the ISO C90 Amendment 1:1995 extension.
+
+// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
+// is defined, use POSIX.1-2008 (or another version depending on
+// _XOPEN_SOURCE).
+
+// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+// defined in all multithreaded code. GNU libc has not required this
+// for many years. We now treat them as compatibility synonyms for
+// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
+// comprehensive support for multithreaded code. Using them never
+// lowers the selected level of POSIX conformance, only raises it.
+
+// The function 'gets' existed in C89, but is impossible to use
+// safely. It has been removed from ISO C11 and ISO C++14. Note: for
+// compatibility with various implementations of <cstdio>, this test
+// must consider only the value of __cplusplus when compiling C++.
+
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
+// Get definitions of __STDC_* predefined macros, if the compiler has
+// not preincluded this header automatically.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This macro indicates that the installed library is the GNU C Library.
+// For historic reasons the value now is 6 and this will stay from now
+// on. The use of this variable is deprecated. Use __GLIBC__ and
+// __GLIBC_MINOR__ now (see below) when you want to test for a specific
+// GNU C library version and use the values in <gnu/lib-names.h> to get
+// the sonames of the shared libraries.
+
+// Major and minor version number of the GNU C library package. Use
+// these macros to test for features in specific releases.
+
+// This is here only because every header file already includes this one.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We are almost always included from features.h.
+
+// The GNU libc does not support any K&R compilers or the traditional mode
+// of ISO C compilers anymore. Check for some of the combinations not
+// anymore supported.
+
+// Some user header file might have defined this before.
+
+// All functions, except those with callbacks or those that
+// synchronize memory, are leaf functions.
+
+// GCC can always grok prototypes. For C++ programs we add throw()
+// to help it optimize the function calls. But this works only with
+// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
+// as non-throwing using a function attribute since programs can use
+// the -fexceptions options for C code as well.
+
+// Compilers that are not clang may object to
+// #if defined __clang__ && __has_extension(...)
+// even though they do not need to evaluate the right-hand side of the &&.
+
+// These two macros are not used in glibc anymore. They are kept here
+// only because some other projects expect the macros to be defined.
+
+// For these things, GCC behaves the ANSI way normally,
+// and the non-ANSI way under -traditional.
+
+// This is not a typedef so `const __ptr_t' does the right thing.
+
+// C++ needs to know that types and declarations are C, not C++.
+
+// Fortify support.
+
+// Support for flexible arrays.
+// Headers that should use flexible arrays only if they're "real"
+// (e.g. only if they won't affect sizeof()) should test
+// #if __glibc_c99_flexarr_available.
+
+// __asm__ ("xyz") is used throughout the headers to rename functions
+// at the assembly language level. This is wrapped by the __REDIRECT
+// macro, in order to support compilers that can do this some other
+// way. When compilers don't support asm-names at all, we have to do
+// preprocessor tricks instead (which don't have exactly the right
+// semantics, but it's the best we can do).
+//
+// Example:
+// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
+
+//
+// #elif __SOME_OTHER_COMPILER__
+//
+// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
+
+// GCC has various useful declarations that can be made with the
+// `__attribute__' syntax. All of the ways we use this do fine if
+// they are omitted for compilers that don't understand it.
+
+// At some point during the gcc 2.96 development the `malloc' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Tell the compiler which arguments to an allocation function
+// indicate the size of the allocation.
+
+// At some point during the gcc 2.96 development the `pure' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// This declaration tells the compiler that the value is constant.
+
+// At some point during the gcc 3.1 development the `used' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Since version 3.2, gcc allows marking deprecated functions.
+
+// Since version 4.5, gcc also allows one to specify the message printed
+// when a deprecated function is used. clang claims to be gcc 4.2, but
+// may also support this feature.
+
+// At some point during the gcc 2.8 development the `format_arg' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+// If several `format_arg' attributes are given for the same function, in
+// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
+// all designated arguments are considered.
+
+// At some point during the gcc 2.97 development the `strfmon' format
+// attribute for functions was introduced. We don't want to use it
+// unconditionally (although this would be possible) since it
+// generates warnings.
+
+// The nonull function attribute allows to mark pointer parameters which
+// must not be NULL.
+
+// If fortification mode, we warn about unused results of certain
+// function calls which can lead to problems.
+
+// Forces a function to be always inlined.
+// The Linux kernel defines __always_inline in stddef.h (283d7573), and
+// it conflicts with this definition. Therefore undefine it first to
+// allow either header to be included first.
+
+// Associate error messages with the source location of the call site rather
+// than with the source location inside the function.
+
+// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
+// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+// older than 4.3 may define these macros and still not guarantee GNU inlining
+// semantics.
+//
+// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+// __GNUC_GNU_INLINE__ macro definitions.
+
+// GCC 4.3 and above allow passing all anonymous arguments of an
+// __extern_always_inline function to some other vararg function.
+
+// It is possible to compile containing GCC extensions even if GCC is
+// run in pedantic mode if the uses are carefully marked using the
+// `__extension__' keyword. But this is not generally available before
+// version 2.8.
+
+// __restrict is known in EGCS 1.2 and above.
+
+// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+// array_name[restrict]
+// GCC 3.1 supports this.
+
+// Describes a char array whose address can safely be passed as the first
+// argument to strncpy and strncat, as the char array is not necessarily
+// a NUL-terminated string.
+
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+// Properties of long double type. ldbl-96 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
+// intended for use in preprocessor macros.
+//
+// Note: MESSAGE must be a _single_ string; concatenation of string
+// literals is not supported.
+
+// Generic selection (ISO C11) is a C-only feature, available in GCC
+// since version 4.9. Previous versions do not provide generic
+// selection, even though they might set __STDC_VERSION__ to 201112L,
+// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
+// when testing __STDC_VERSION__ for generic selection support.
+// On the other hand, Clang also defines __GNUC__, so a clang-specific
+// check is required to enable the use of generic selection.
+
+// If we don't have __REDIRECT, prototypes will be missing if
+// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
+
+// Decide whether we can define 'extern inline' functions in headers.
+
+// This is here only because every header file already includes this one.
+// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
+// that will always return failure (and set errno to ENOSYS).
+// This file is automatically generated.
+// This file selects the right generated file of `__stub_FUNCTION' macros
+// based on the architecture being compiled for.
+
+// This file is automatically generated.
+// It defines a symbol `__stub_FUNCTION' for each function
+// in the C library which is a stub, meaning it will fail
+// every time called, usually setting errno to ENOSYS.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Both x86-64 and x32 use the 64-bit system call interface.
+// Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// For others, time size is word size.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// No need to mark the typedef with __extension__.
+// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
+// Copyright (C) 2012-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// X32 kernel interface is 64-bit.
+
+// Tell the libc code that off_t and off64_t are actually the same type
+// for all ABI purposes, even if possibly expressed as different base types
+// for C type-checking purposes.
+
+// Same for ino_t and ino64_t.
+
+// And for __rlim_t and __rlim64_t.
+
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int64 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int64 /* types.h:191:28 */
+
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int64 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int64 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+
+// Some versions of stddef.h provide wint_t, even though neither the
+// C nor C++ standards, nor POSIX, specifies this. We assume that
+// stddef.h will define the macro _WINT_T if and only if it provides
+// wint_t, and conversely, that it will avoid providing wint_t if
+// _WINT_T is already defined.
+
+// Integral type unchanged by default argument promotions that can
+// hold any value corresponding to members of the extended character
+// set, as well as at least one value that does not correspond to any
+// member of the extended character set.
+
+type Wint_t = uint32 /* wint_t.h:20:23 */
+
+// Constant expression of type `wint_t' whose value does not correspond
+// to any member of the extended character set.
+
+// Some definitions from this header also appear in <wchar.h> in
+// Unix98 mode.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// The definitions in this header are specified to appear in <wctype.h>
+// in ISO C99, but in <wchar.h> in Unix98. _GNU_SOURCE follows C99.
+
+// Scalar type that can hold values which represent locale-specific
+// character classifications.
+type Wctype_t = uint64 /* wctype-wchar.h:38:27 */
+
+// Extensible wide-character mapping functions: 7.15.3.2.
+
+// Scalar type that can hold values which represent locale-specific
+// character mappings.
+type Wctrans_t = uintptr /* wctype.h:48:25 */
+
+// POSIX.1-2008 extended locale interface (see locale.h).
+// Definition of locale_t.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Definition of struct __locale_struct and __locale_t.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX.1-2008: the locale_t type, representing a locale context
+// (implementation-namespace version). This type should be treated
+// as opaque by applications; some details are exposed for the sake of
+// efficiency in e.g. ctype functions.
+
+type X__locale_struct = struct {
+ F__locales [13]uintptr
+ F__ctype_b uintptr
+ F__ctype_tolower uintptr
+ F__ctype_toupper uintptr
+ F__names [13]uintptr
+} /* __locale_t.h:28:1 */
+
+type X__locale_t = uintptr /* __locale_t.h:42:32 */
+
+type Locale_t = X__locale_t /* locale_t.h:24:20 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_linux_arm.go b/vendor/modernc.org/libc/wctype/wctype_linux_arm.go
new file mode 100644
index 000000000..4b1d88a16
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_linux_arm.go
@@ -0,0 +1,990 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_arm.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ WEOF = 4294967295
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_TYPES_LOCALE_T_H = 1
+ X_BITS_TYPES___LOCALE_T_H = 1
+ X_BITS_WCTYPE_WCHAR_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STDC_PREDEF_H = 1
+ X_SYS_CDEFS_H = 1
+ X_WCTYPE_H = 1
+ X_WINT_T = 1
+ Linux = 1
+ Unix = 1
+)
+
+// The characteristics are stored always in network byte order (big
+// endian). We define the bit value interpretations here dependent on the
+// machine's byte order.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// ARM has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
+const ( /* wctype-wchar.h:56:1: */
+ X__ISwupper = 0 // UPPERCASE.
+ X__ISwlower = 1 // lowercase.
+ X__ISwalpha = 2 // Alphabetic.
+ X__ISwdigit = 3 // Numeric.
+ X__ISwxdigit = 4 // Hexadecimal numeric.
+ X__ISwspace = 5 // Whitespace.
+ X__ISwprint = 6 // Printing.
+ X__ISwgraph = 7 // Graphical.
+ X__ISwblank = 8 // Blank (usually SPC and TAB).
+ X__ISwcntrl = 9 // Control character.
+ X__ISwpunct = 10 // Punctuation.
+ X__ISwalnum = 11 // Alphanumeric.
+
+ X_ISwupper = 16777216 // UPPERCASE.
+ X_ISwlower = 33554432 // lowercase.
+ X_ISwalpha = 67108864 // Alphabetic.
+ X_ISwdigit = 134217728 // Numeric.
+ X_ISwxdigit = 268435456 // Hexadecimal numeric.
+ X_ISwspace = 536870912 // Whitespace.
+ X_ISwprint = 1073741824 // Printing.
+ X_ISwgraph = -2147483648 // Graphical.
+ X_ISwblank = 65536 // Blank (usually SPC and TAB).
+ X_ISwcntrl = 131072 // Control character.
+ X_ISwpunct = 262144 // Punctuation.
+ X_ISwalnum = 524288
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// These are defined by the user (or the compiler)
+// to specify the desired environment:
+//
+// __STRICT_ANSI__ ISO Standard C.
+// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+// __STDC_WANT_LIB_EXT2__
+// Extensions to ISO C99 from TR 27431-2:2010.
+// __STDC_WANT_IEC_60559_BFP_EXT__
+// Extensions to ISO C11 from TS 18661-1:2014.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__
+// Extensions to ISO C11 from TS 18661-4:2015.
+// __STDC_WANT_IEC_60559_TYPES_EXT__
+// Extensions to ISO C11 from TS 18661-3:2015.
+//
+// _POSIX_SOURCE IEEE Std 1003.1.
+// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+// if >=199309L, add IEEE Std 1003.1b-1993;
+// if >=199506L, add IEEE Std 1003.1c-1995;
+// if >=200112L, all of IEEE 1003.1-2004
+// if >=200809L, all of IEEE 1003.1-2008
+// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
+// Single Unix conformance is wanted, to 600 for the
+// sixth revision, to 700 for the seventh revision.
+// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
+// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
+// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
+// _FILE_OFFSET_BITS=N Select default filesystem interface.
+// _ATFILE_SOURCE Additional *at interfaces.
+// _GNU_SOURCE All of the above, plus GNU extensions.
+// _DEFAULT_SOURCE The default set of features (taking precedence over
+// __STRICT_ANSI__).
+//
+// _FORTIFY_SOURCE Add security hardening to many library functions.
+// Set to 1 or 2; 2 performs stricter checks than 1.
+//
+// _REENTRANT, _THREAD_SAFE
+// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
+//
+// The `-ansi' switch to the GNU C compiler, and standards conformance
+// options such as `-std=c99', define __STRICT_ANSI__. If none of
+// these are defined, or if _DEFAULT_SOURCE is defined, the default is
+// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+// 200809L, as well as enabling miscellaneous functions from BSD and
+// SVID. If more than one of these are defined, they accumulate. For
+// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+// give you ISO C, 1003.1, and 1003.2, but nothing else.
+//
+// These are defined by this file and are used by the
+// header files to decide what to declare or define:
+//
+// __GLIBC_USE (F) Define things from feature set F. This is defined
+// to 1 or 0; the subsequent macros are either defined
+// or undefined, and those tests should be moved to
+// __GLIBC_USE.
+// __USE_ISOC11 Define ISO C11 things.
+// __USE_ISOC99 Define ISO C99 things.
+// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+// __USE_ISOCXX11 Define ISO C++11 things.
+// __USE_POSIX Define IEEE Std 1003.1 things.
+// __USE_POSIX2 Define IEEE Std 1003.2 things.
+// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
+// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
+// __USE_XOPEN Define XPG things.
+// __USE_XOPEN_EXTENDED Define X/Open Unix things.
+// __USE_UNIX98 Define Single Unix V2 things.
+// __USE_XOPEN2K Define XPG6 things.
+// __USE_XOPEN2KXSI Define XPG6 XSI things.
+// __USE_XOPEN2K8 Define XPG7 things.
+// __USE_XOPEN2K8XSI Define XPG7 XSI things.
+// __USE_LARGEFILE Define correct standard I/O things.
+// __USE_LARGEFILE64 Define LFS things with separate names.
+// __USE_FILE_OFFSET64 Define 64bit interface as default.
+// __USE_MISC Define things from 4.3BSD or System V Unix.
+// __USE_ATFILE Define *at interfaces and AT_* constants for them.
+// __USE_GNU Define GNU extensions.
+// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
+//
+// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
+// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
+// only for compatibility. All new code should use the other symbols
+// to test for features.
+//
+// All macros listed above as possibly being defined by this file are
+// explicitly undefined if they are not explicitly defined.
+// Feature-test macros that are not defined by the user or compiler
+// but are implied by the other feature-test macros defined (or by the
+// lack of any definitions) are defined by the file.
+//
+// ISO C feature test macros depend on the definition of the macro
+// when an affected header is included, not when the first system
+// header is included, and so they are handled in
+// <bits/libc-header-start.h>, which does not have a multiple include
+// guard. Feature test macros that can be handled from the first
+// system header included are handled here.
+
+// Undefine everything, so we get a clean slate.
+
+// Suppress kernel-name space pollution unless user expressedly asks
+// for it.
+
+// Convenience macro to test the version of gcc.
+// Use like this:
+// #if __GNUC_PREREQ (2,8)
+// ... code requiring gcc 2.8 or later ...
+// #endif
+// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
+// added in 2.0.
+
+// Similarly for clang. Features added to GCC after version 4.2 may
+// or may not also be available in clang, and clang's definitions of
+// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
+// features can be queried via __has_extension/__has_feature.
+
+// Whether to use feature set F.
+
+// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
+// issue a warning; the expectation is that the source is being
+// transitioned to use the new macro.
+
+// If _GNU_SOURCE was defined by the user, turn on all the other features.
+
+// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
+// define _DEFAULT_SOURCE.
+
+// This is to enable the ISO C2X extension.
+
+// This is to enable the ISO C11 extension.
+
+// This is to enable the ISO C99 extension.
+
+// This is to enable the ISO C90 Amendment 1:1995 extension.
+
+// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
+// is defined, use POSIX.1-2008 (or another version depending on
+// _XOPEN_SOURCE).
+
+// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+// defined in all multithreaded code. GNU libc has not required this
+// for many years. We now treat them as compatibility synonyms for
+// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
+// comprehensive support for multithreaded code. Using them never
+// lowers the selected level of POSIX conformance, only raises it.
+
+// The function 'gets' existed in C89, but is impossible to use
+// safely. It has been removed from ISO C11 and ISO C++14. Note: for
+// compatibility with various implementations of <cstdio>, this test
+// must consider only the value of __cplusplus when compiling C++.
+
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
+// Get definitions of __STDC_* predefined macros, if the compiler has
+// not preincluded this header automatically.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This macro indicates that the installed library is the GNU C Library.
+// For historic reasons the value now is 6 and this will stay from now
+// on. The use of this variable is deprecated. Use __GLIBC__ and
+// __GLIBC_MINOR__ now (see below) when you want to test for a specific
+// GNU C library version and use the values in <gnu/lib-names.h> to get
+// the sonames of the shared libraries.
+
+// Major and minor version number of the GNU C library package. Use
+// these macros to test for features in specific releases.
+
+// This is here only because every header file already includes this one.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We are almost always included from features.h.
+
+// The GNU libc does not support any K&R compilers or the traditional mode
+// of ISO C compilers anymore. Check for some of the combinations not
+// anymore supported.
+
+// Some user header file might have defined this before.
+
+// All functions, except those with callbacks or those that
+// synchronize memory, are leaf functions.
+
+// GCC can always grok prototypes. For C++ programs we add throw()
+// to help it optimize the function calls. But this works only with
+// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
+// as non-throwing using a function attribute since programs can use
+// the -fexceptions options for C code as well.
+
+// Compilers that are not clang may object to
+// #if defined __clang__ && __has_extension(...)
+// even though they do not need to evaluate the right-hand side of the &&.
+
+// These two macros are not used in glibc anymore. They are kept here
+// only because some other projects expect the macros to be defined.
+
+// For these things, GCC behaves the ANSI way normally,
+// and the non-ANSI way under -traditional.
+
+// This is not a typedef so `const __ptr_t' does the right thing.
+
+// C++ needs to know that types and declarations are C, not C++.
+
+// Fortify support.
+
+// Support for flexible arrays.
+// Headers that should use flexible arrays only if they're "real"
+// (e.g. only if they won't affect sizeof()) should test
+// #if __glibc_c99_flexarr_available.
+
+// __asm__ ("xyz") is used throughout the headers to rename functions
+// at the assembly language level. This is wrapped by the __REDIRECT
+// macro, in order to support compilers that can do this some other
+// way. When compilers don't support asm-names at all, we have to do
+// preprocessor tricks instead (which don't have exactly the right
+// semantics, but it's the best we can do).
+//
+// Example:
+// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
+
+//
+// #elif __SOME_OTHER_COMPILER__
+//
+// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
+
+// GCC has various useful declarations that can be made with the
+// `__attribute__' syntax. All of the ways we use this do fine if
+// they are omitted for compilers that don't understand it.
+
+// At some point during the gcc 2.96 development the `malloc' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Tell the compiler which arguments to an allocation function
+// indicate the size of the allocation.
+
+// At some point during the gcc 2.96 development the `pure' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// This declaration tells the compiler that the value is constant.
+
+// At some point during the gcc 3.1 development the `used' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Since version 3.2, gcc allows marking deprecated functions.
+
+// Since version 4.5, gcc also allows one to specify the message printed
+// when a deprecated function is used. clang claims to be gcc 4.2, but
+// may also support this feature.
+
+// At some point during the gcc 2.8 development the `format_arg' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+// If several `format_arg' attributes are given for the same function, in
+// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
+// all designated arguments are considered.
+
+// At some point during the gcc 2.97 development the `strfmon' format
+// attribute for functions was introduced. We don't want to use it
+// unconditionally (although this would be possible) since it
+// generates warnings.
+
+// The nonull function attribute allows to mark pointer parameters which
+// must not be NULL.
+
+// If fortification mode, we warn about unused results of certain
+// function calls which can lead to problems.
+
+// Forces a function to be always inlined.
+// The Linux kernel defines __always_inline in stddef.h (283d7573), and
+// it conflicts with this definition. Therefore undefine it first to
+// allow either header to be included first.
+
+// Associate error messages with the source location of the call site rather
+// than with the source location inside the function.
+
+// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
+// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+// older than 4.3 may define these macros and still not guarantee GNU inlining
+// semantics.
+//
+// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+// __GNUC_GNU_INLINE__ macro definitions.
+
+// GCC 4.3 and above allow passing all anonymous arguments of an
+// __extern_always_inline function to some other vararg function.
+
+// It is possible to compile containing GCC extensions even if GCC is
+// run in pedantic mode if the uses are carefully marked using the
+// `__extension__' keyword. But this is not generally available before
+// version 2.8.
+
+// __restrict is known in EGCS 1.2 and above.
+
+// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+// array_name[restrict]
+// GCC 3.1 supports this.
+
+// Describes a char array whose address can safely be passed as the first
+// argument to strncpy and strncat, as the char array is not necessarily
+// a NUL-terminated string.
+
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This header is included by <sys/cdefs.h>.
+//
+// If long double is ABI-compatible with double, it should define
+// __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
+// __NO_LONG_DOUBLE_MATH undefined.
+//
+// If this build of the GNU C Library supports both long double
+// ABI-compatible with double and some other long double format not
+// ABI-compatible with double, it should define
+// __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
+// __LONG_DOUBLE_MATH_OPTIONAL undefined.
+//
+// If __NO_LONG_DOUBLE_MATH is already defined, this header must not
+// define anything; this is needed to work with the definition of
+// __NO_LONG_DOUBLE_MATH in nldbl-compat.h.
+
+// In the default version of this header, long double is
+// ABI-compatible with double.
+
+// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
+// intended for use in preprocessor macros.
+//
+// Note: MESSAGE must be a _single_ string; concatenation of string
+// literals is not supported.
+
+// Generic selection (ISO C11) is a C-only feature, available in GCC
+// since version 4.9. Previous versions do not provide generic
+// selection, even though they might set __STDC_VERSION__ to 201112L,
+// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
+// when testing __STDC_VERSION__ for generic selection support.
+// On the other hand, Clang also defines __GNUC__, so a clang-specific
+// check is required to enable the use of generic selection.
+
+// If we don't have __REDIRECT, prototypes will be missing if
+// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
+
+// Decide whether we can define 'extern inline' functions in headers.
+
+// This is here only because every header file already includes this one.
+// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
+// that will always return failure (and set errno to ENOSYS).
+// This file is automatically generated.
+// This file selects the right generated file of `__stub_FUNCTION' macros
+// based on the architecture being compiled for.
+
+// This file is automatically generated.
+// It defines a symbol `__stub_FUNCTION' for each function
+// in the C library which is a stub, meaning it will fail
+// every time called, usually setting errno to ENOSYS.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Copyright (C) 1999-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint32 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:47:44 */
+type X__uint64_t = uint64 /* types.h:48:46 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:66:37 */
+type X__u_quad_t = uint64 /* types.h:67:46 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:75:37 */
+type X__uintmax_t = uint64 /* types.h:76:46 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// We want __extension__ before typedef's that use nonstandard base types
+// such as `long long' in C89 mode.
+// bits/typesizes.h -- underlying types for *_t. Generic version.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// Define a 64-bit time type alongsize the 32-bit one.
+
+type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int32 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int32 /* types.h:179:28 */
+type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint32 /* types.h:183:30 */
+type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint32 /* types.h:187:30 */
+type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int32 /* types.h:191:28 */
+
+type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int32 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint32 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int32 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+type X__time64_t = X__int64_t /* types.h:222:28 */
+
+// Some versions of stddef.h provide wint_t, even though neither the
+// C nor C++ standards, nor POSIX, specifies this. We assume that
+// stddef.h will define the macro _WINT_T if and only if it provides
+// wint_t, and conversely, that it will avoid providing wint_t if
+// _WINT_T is already defined.
+
+// Integral type unchanged by default argument promotions that can
+// hold any value corresponding to members of the extended character
+// set, as well as at least one value that does not correspond to any
+// member of the extended character set.
+
+type Wint_t = uint32 /* wint_t.h:20:23 */
+
+// Constant expression of type `wint_t' whose value does not correspond
+// to any member of the extended character set.
+
+// Some definitions from this header also appear in <wchar.h> in
+// Unix98 mode.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// The definitions in this header are specified to appear in <wctype.h>
+// in ISO C99, but in <wchar.h> in Unix98. _GNU_SOURCE follows C99.
+
+// Scalar type that can hold values which represent locale-specific
+// character classifications.
+type Wctype_t = uint32 /* wctype-wchar.h:38:27 */
+
+// Extensible wide-character mapping functions: 7.15.3.2.
+
+// Scalar type that can hold values which represent locale-specific
+// character mappings.
+type Wctrans_t = uintptr /* wctype.h:48:25 */
+
+// POSIX.1-2008 extended locale interface (see locale.h).
+// Definition of locale_t.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Definition of struct __locale_struct and __locale_t.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX.1-2008: the locale_t type, representing a locale context
+// (implementation-namespace version). This type should be treated
+// as opaque by applications; some details are exposed for the sake of
+// efficiency in e.g. ctype functions.
+
+type X__locale_struct = struct {
+ F__locales [13]uintptr
+ F__ctype_b uintptr
+ F__ctype_tolower uintptr
+ F__ctype_toupper uintptr
+ F__names [13]uintptr
+} /* __locale_t.h:28:1 */
+
+type X__locale_t = uintptr /* __locale_t.h:42:32 */
+
+type Locale_t = X__locale_t /* locale_t.h:24:20 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_linux_arm64.go b/vendor/modernc.org/libc/wctype/wctype_linux_arm64.go
new file mode 100644
index 000000000..02f8f8eef
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_linux_arm64.go
@@ -0,0 +1,1017 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_arm64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ WEOF = 4294967295
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_TYPES_LOCALE_T_H = 1
+ X_BITS_TYPES___LOCALE_T_H = 1
+ X_BITS_WCTYPE_WCHAR_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STDC_PREDEF_H = 1
+ X_SYS_CDEFS_H = 1
+ X_WCTYPE_H = 1
+ X_WINT_T = 1
+ Linux = 1
+ Unix = 1
+)
+
+// The characteristics are stored always in network byte order (big
+// endian). We define the bit value interpretations here dependent on the
+// machine's byte order.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// AArch64 has selectable endianness.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
+const ( /* wctype-wchar.h:56:1: */
+ X__ISwupper = 0 // UPPERCASE.
+ X__ISwlower = 1 // lowercase.
+ X__ISwalpha = 2 // Alphabetic.
+ X__ISwdigit = 3 // Numeric.
+ X__ISwxdigit = 4 // Hexadecimal numeric.
+ X__ISwspace = 5 // Whitespace.
+ X__ISwprint = 6 // Printing.
+ X__ISwgraph = 7 // Graphical.
+ X__ISwblank = 8 // Blank (usually SPC and TAB).
+ X__ISwcntrl = 9 // Control character.
+ X__ISwpunct = 10 // Punctuation.
+ X__ISwalnum = 11 // Alphanumeric.
+
+ X_ISwupper = 16777216 // UPPERCASE.
+ X_ISwlower = 33554432 // lowercase.
+ X_ISwalpha = 67108864 // Alphabetic.
+ X_ISwdigit = 134217728 // Numeric.
+ X_ISwxdigit = 268435456 // Hexadecimal numeric.
+ X_ISwspace = 536870912 // Whitespace.
+ X_ISwprint = 1073741824 // Printing.
+ X_ISwgraph = -2147483648 // Graphical.
+ X_ISwblank = 65536 // Blank (usually SPC and TAB).
+ X_ISwcntrl = 131072 // Control character.
+ X_ISwpunct = 262144 // Punctuation.
+ X_ISwalnum = 524288
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// These are defined by the user (or the compiler)
+// to specify the desired environment:
+//
+// __STRICT_ANSI__ ISO Standard C.
+// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+// __STDC_WANT_LIB_EXT2__
+// Extensions to ISO C99 from TR 27431-2:2010.
+// __STDC_WANT_IEC_60559_BFP_EXT__
+// Extensions to ISO C11 from TS 18661-1:2014.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__
+// Extensions to ISO C11 from TS 18661-4:2015.
+// __STDC_WANT_IEC_60559_TYPES_EXT__
+// Extensions to ISO C11 from TS 18661-3:2015.
+//
+// _POSIX_SOURCE IEEE Std 1003.1.
+// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+// if >=199309L, add IEEE Std 1003.1b-1993;
+// if >=199506L, add IEEE Std 1003.1c-1995;
+// if >=200112L, all of IEEE 1003.1-2004
+// if >=200809L, all of IEEE 1003.1-2008
+// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
+// Single Unix conformance is wanted, to 600 for the
+// sixth revision, to 700 for the seventh revision.
+// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
+// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
+// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
+// _FILE_OFFSET_BITS=N Select default filesystem interface.
+// _ATFILE_SOURCE Additional *at interfaces.
+// _GNU_SOURCE All of the above, plus GNU extensions.
+// _DEFAULT_SOURCE The default set of features (taking precedence over
+// __STRICT_ANSI__).
+//
+// _FORTIFY_SOURCE Add security hardening to many library functions.
+// Set to 1 or 2; 2 performs stricter checks than 1.
+//
+// _REENTRANT, _THREAD_SAFE
+// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
+//
+// The `-ansi' switch to the GNU C compiler, and standards conformance
+// options such as `-std=c99', define __STRICT_ANSI__. If none of
+// these are defined, or if _DEFAULT_SOURCE is defined, the default is
+// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+// 200809L, as well as enabling miscellaneous functions from BSD and
+// SVID. If more than one of these are defined, they accumulate. For
+// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+// give you ISO C, 1003.1, and 1003.2, but nothing else.
+//
+// These are defined by this file and are used by the
+// header files to decide what to declare or define:
+//
+// __GLIBC_USE (F) Define things from feature set F. This is defined
+// to 1 or 0; the subsequent macros are either defined
+// or undefined, and those tests should be moved to
+// __GLIBC_USE.
+// __USE_ISOC11 Define ISO C11 things.
+// __USE_ISOC99 Define ISO C99 things.
+// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+// __USE_ISOCXX11 Define ISO C++11 things.
+// __USE_POSIX Define IEEE Std 1003.1 things.
+// __USE_POSIX2 Define IEEE Std 1003.2 things.
+// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
+// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
+// __USE_XOPEN Define XPG things.
+// __USE_XOPEN_EXTENDED Define X/Open Unix things.
+// __USE_UNIX98 Define Single Unix V2 things.
+// __USE_XOPEN2K Define XPG6 things.
+// __USE_XOPEN2KXSI Define XPG6 XSI things.
+// __USE_XOPEN2K8 Define XPG7 things.
+// __USE_XOPEN2K8XSI Define XPG7 XSI things.
+// __USE_LARGEFILE Define correct standard I/O things.
+// __USE_LARGEFILE64 Define LFS things with separate names.
+// __USE_FILE_OFFSET64 Define 64bit interface as default.
+// __USE_MISC Define things from 4.3BSD or System V Unix.
+// __USE_ATFILE Define *at interfaces and AT_* constants for them.
+// __USE_GNU Define GNU extensions.
+// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
+//
+// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
+// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
+// only for compatibility. All new code should use the other symbols
+// to test for features.
+//
+// All macros listed above as possibly being defined by this file are
+// explicitly undefined if they are not explicitly defined.
+// Feature-test macros that are not defined by the user or compiler
+// but are implied by the other feature-test macros defined (or by the
+// lack of any definitions) are defined by the file.
+//
+// ISO C feature test macros depend on the definition of the macro
+// when an affected header is included, not when the first system
+// header is included, and so they are handled in
+// <bits/libc-header-start.h>, which does not have a multiple include
+// guard. Feature test macros that can be handled from the first
+// system header included are handled here.
+
+// Undefine everything, so we get a clean slate.
+
+// Suppress kernel-name space pollution unless user expressedly asks
+// for it.
+
+// Convenience macro to test the version of gcc.
+// Use like this:
+// #if __GNUC_PREREQ (2,8)
+// ... code requiring gcc 2.8 or later ...
+// #endif
+// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
+// added in 2.0.
+
+// Similarly for clang. Features added to GCC after version 4.2 may
+// or may not also be available in clang, and clang's definitions of
+// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
+// features can be queried via __has_extension/__has_feature.
+
+// Whether to use feature set F.
+
+// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
+// issue a warning; the expectation is that the source is being
+// transitioned to use the new macro.
+
+// If _GNU_SOURCE was defined by the user, turn on all the other features.
+
+// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
+// define _DEFAULT_SOURCE.
+
+// This is to enable the ISO C2X extension.
+
+// This is to enable the ISO C11 extension.
+
+// This is to enable the ISO C99 extension.
+
+// This is to enable the ISO C90 Amendment 1:1995 extension.
+
+// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
+// is defined, use POSIX.1-2008 (or another version depending on
+// _XOPEN_SOURCE).
+
+// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+// defined in all multithreaded code. GNU libc has not required this
+// for many years. We now treat them as compatibility synonyms for
+// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
+// comprehensive support for multithreaded code. Using them never
+// lowers the selected level of POSIX conformance, only raises it.
+
+// The function 'gets' existed in C89, but is impossible to use
+// safely. It has been removed from ISO C11 and ISO C++14. Note: for
+// compatibility with various implementations of <cstdio>, this test
+// must consider only the value of __cplusplus when compiling C++.
+
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
+// Get definitions of __STDC_* predefined macros, if the compiler has
+// not preincluded this header automatically.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This macro indicates that the installed library is the GNU C Library.
+// For historic reasons the value now is 6 and this will stay from now
+// on. The use of this variable is deprecated. Use __GLIBC__ and
+// __GLIBC_MINOR__ now (see below) when you want to test for a specific
+// GNU C library version and use the values in <gnu/lib-names.h> to get
+// the sonames of the shared libraries.
+
+// Major and minor version number of the GNU C library package. Use
+// these macros to test for features in specific releases.
+
+// This is here only because every header file already includes this one.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We are almost always included from features.h.
+
+// The GNU libc does not support any K&R compilers or the traditional mode
+// of ISO C compilers anymore. Check for some of the combinations not
+// anymore supported.
+
+// Some user header file might have defined this before.
+
+// All functions, except those with callbacks or those that
+// synchronize memory, are leaf functions.
+
+// GCC can always grok prototypes. For C++ programs we add throw()
+// to help it optimize the function calls. But this works only with
+// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
+// as non-throwing using a function attribute since programs can use
+// the -fexceptions options for C code as well.
+
+// Compilers that are not clang may object to
+// #if defined __clang__ && __has_extension(...)
+// even though they do not need to evaluate the right-hand side of the &&.
+
+// These two macros are not used in glibc anymore. They are kept here
+// only because some other projects expect the macros to be defined.
+
+// For these things, GCC behaves the ANSI way normally,
+// and the non-ANSI way under -traditional.
+
+// This is not a typedef so `const __ptr_t' does the right thing.
+
+// C++ needs to know that types and declarations are C, not C++.
+
+// Fortify support.
+
+// Support for flexible arrays.
+// Headers that should use flexible arrays only if they're "real"
+// (e.g. only if they won't affect sizeof()) should test
+// #if __glibc_c99_flexarr_available.
+
+// __asm__ ("xyz") is used throughout the headers to rename functions
+// at the assembly language level. This is wrapped by the __REDIRECT
+// macro, in order to support compilers that can do this some other
+// way. When compilers don't support asm-names at all, we have to do
+// preprocessor tricks instead (which don't have exactly the right
+// semantics, but it's the best we can do).
+//
+// Example:
+// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
+
+//
+// #elif __SOME_OTHER_COMPILER__
+//
+// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
+
+// GCC has various useful declarations that can be made with the
+// `__attribute__' syntax. All of the ways we use this do fine if
+// they are omitted for compilers that don't understand it.
+
+// At some point during the gcc 2.96 development the `malloc' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Tell the compiler which arguments to an allocation function
+// indicate the size of the allocation.
+
+// At some point during the gcc 2.96 development the `pure' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// This declaration tells the compiler that the value is constant.
+
+// At some point during the gcc 3.1 development the `used' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Since version 3.2, gcc allows marking deprecated functions.
+
+// Since version 4.5, gcc also allows one to specify the message printed
+// when a deprecated function is used. clang claims to be gcc 4.2, but
+// may also support this feature.
+
+// At some point during the gcc 2.8 development the `format_arg' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+// If several `format_arg' attributes are given for the same function, in
+// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
+// all designated arguments are considered.
+
+// At some point during the gcc 2.97 development the `strfmon' format
+// attribute for functions was introduced. We don't want to use it
+// unconditionally (although this would be possible) since it
+// generates warnings.
+
+// The nonull function attribute allows to mark pointer parameters which
+// must not be NULL.
+
+// If fortification mode, we warn about unused results of certain
+// function calls which can lead to problems.
+
+// Forces a function to be always inlined.
+// The Linux kernel defines __always_inline in stddef.h (283d7573), and
+// it conflicts with this definition. Therefore undefine it first to
+// allow either header to be included first.
+
+// Associate error messages with the source location of the call site rather
+// than with the source location inside the function.
+
+// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
+// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+// older than 4.3 may define these macros and still not guarantee GNU inlining
+// semantics.
+//
+// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+// __GNUC_GNU_INLINE__ macro definitions.
+
+// GCC 4.3 and above allow passing all anonymous arguments of an
+// __extern_always_inline function to some other vararg function.
+
+// It is possible to compile containing GCC extensions even if GCC is
+// run in pedantic mode if the uses are carefully marked using the
+// `__extension__' keyword. But this is not generally available before
+// version 2.8.
+
+// __restrict is known in EGCS 1.2 and above.
+
+// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+// array_name[restrict]
+// GCC 3.1 supports this.
+
+// Describes a char array whose address can safely be passed as the first
+// argument to strncpy and strncat, as the char array is not necessarily
+// a NUL-terminated string.
+
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Properties of long double type. ldbl-128 version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// long double is distinct from double, so there is nothing to
+// define here.
+
+// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
+// intended for use in preprocessor macros.
+//
+// Note: MESSAGE must be a _single_ string; concatenation of string
+// literals is not supported.
+
+// Generic selection (ISO C11) is a C-only feature, available in GCC
+// since version 4.9. Previous versions do not provide generic
+// selection, even though they might set __STDC_VERSION__ to 201112L,
+// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
+// when testing __STDC_VERSION__ for generic selection support.
+// On the other hand, Clang also defines __GNUC__, so a clang-specific
+// check is required to enable the use of generic selection.
+
+// If we don't have __REDIRECT, prototypes will be missing if
+// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
+
+// Decide whether we can define 'extern inline' functions in headers.
+
+// This is here only because every header file already includes this one.
+// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
+// that will always return failure (and set errno to ENOSYS).
+// This file is automatically generated.
+// This file selects the right generated file of `__stub_FUNCTION' macros
+// based on the architecture being compiled for.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This file is automatically generated.
+// It defines a symbol `__stub_FUNCTION' for each function
+// in the C library which is a stub, meaning it will fail
+// every time called, usually setting errno to ENOSYS.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+//
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// No need to mark the typedef with __extension__.
+// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
+// Copyright (C) 2011-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library. If not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// Tell the libc code that off_t and off64_t are actually the same type
+// for all ABI purposes, even if possibly expressed as different base types
+// for C type-checking purposes.
+
+// Same for ino_t and ino64_t.
+
+// And for __rlim_t and __rlim64_t.
+
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int32 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int64 /* types.h:191:28 */
+
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int64 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int64 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+
+// Some versions of stddef.h provide wint_t, even though neither the
+// C nor C++ standards, nor POSIX, specifies this. We assume that
+// stddef.h will define the macro _WINT_T if and only if it provides
+// wint_t, and conversely, that it will avoid providing wint_t if
+// _WINT_T is already defined.
+
+// Integral type unchanged by default argument promotions that can
+// hold any value corresponding to members of the extended character
+// set, as well as at least one value that does not correspond to any
+// member of the extended character set.
+
+type Wint_t = uint32 /* wint_t.h:20:23 */
+
+// Constant expression of type `wint_t' whose value does not correspond
+// to any member of the extended character set.
+
+// Some definitions from this header also appear in <wchar.h> in
+// Unix98 mode.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// The definitions in this header are specified to appear in <wctype.h>
+// in ISO C99, but in <wchar.h> in Unix98. _GNU_SOURCE follows C99.
+
+// Scalar type that can hold values which represent locale-specific
+// character classifications.
+type Wctype_t = uint64 /* wctype-wchar.h:38:27 */
+
+// Extensible wide-character mapping functions: 7.15.3.2.
+
+// Scalar type that can hold values which represent locale-specific
+// character mappings.
+type Wctrans_t = uintptr /* wctype.h:48:25 */
+
+// POSIX.1-2008 extended locale interface (see locale.h).
+// Definition of locale_t.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Definition of struct __locale_struct and __locale_t.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX.1-2008: the locale_t type, representing a locale context
+// (implementation-namespace version). This type should be treated
+// as opaque by applications; some details are exposed for the sake of
+// efficiency in e.g. ctype functions.
+
+type X__locale_struct = struct {
+ F__locales [13]uintptr
+ F__ctype_b uintptr
+ F__ctype_tolower uintptr
+ F__ctype_toupper uintptr
+ F__names [13]uintptr
+} /* __locale_t.h:28:1 */
+
+type X__locale_t = uintptr /* __locale_t.h:42:32 */
+
+type Locale_t = X__locale_t /* locale_t.h:24:20 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_linux_s390x.go b/vendor/modernc.org/libc/wctype/wctype_linux_s390x.go
new file mode 100644
index 000000000..4b007cb4a
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_linux_s390x.go
@@ -0,0 +1,948 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_linux_s390x.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ WEOF = 4294967295
+ X_ATFILE_SOURCE = 1
+ X_BITS_ENDIANNESS_H = 1
+ X_BITS_ENDIAN_H = 1
+ X_BITS_TIME64_H = 1
+ X_BITS_TYPESIZES_H = 1
+ X_BITS_TYPES_H = 1
+ X_BITS_TYPES_LOCALE_T_H = 1
+ X_BITS_TYPES___LOCALE_T_H = 1
+ X_BITS_WCTYPE_WCHAR_H = 1
+ X_DEFAULT_SOURCE = 1
+ X_FEATURES_H = 1
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_POSIX_C_SOURCE = 200809
+ X_POSIX_SOURCE = 1
+ X_STDC_PREDEF_H = 1
+ X_SYS_CDEFS_H = 1
+ X_WCTYPE_H = 1
+ X_WINT_T = 1
+ Linux = 1
+ Unix = 1
+)
+
+// The characteristics are stored always in network byte order (big
+// endian). We define the bit value interpretations here dependent on the
+// machine's byte order.
+
+// Endian macros for string.h functions
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definitions for byte order, according to significance of bytes,
+// from low addresses to high addresses. The value is what you get by
+// putting '4' in the most significant byte, '3' in the second most
+// significant byte, '2' in the second least significant byte, and '1'
+// in the least significant byte, and then writing down one digit for
+// each byte, starting with the byte at the lowest address at the left,
+// and proceeding to the byte with the highest address at the right.
+
+// This file defines `__BYTE_ORDER' for the particular machine.
+
+// S/390 is big-endian.
+
+// Some machines may need to use a different endianness for floating point
+// values.
+
+const ( /* wctype-wchar.h:56:1: */
+ X__ISwupper = 0 // UPPERCASE.
+ X__ISwlower = 1 // lowercase.
+ X__ISwalpha = 2 // Alphabetic.
+ X__ISwdigit = 3 // Numeric.
+ X__ISwxdigit = 4 // Hexadecimal numeric.
+ X__ISwspace = 5 // Whitespace.
+ X__ISwprint = 6 // Printing.
+ X__ISwgraph = 7 // Graphical.
+ X__ISwblank = 8 // Blank (usually SPC and TAB).
+ X__ISwcntrl = 9 // Control character.
+ X__ISwpunct = 10 // Punctuation.
+ X__ISwalnum = 11 // Alphanumeric.
+
+ X_ISwupper = 1 // UPPERCASE.
+ X_ISwlower = 2 // lowercase.
+ X_ISwalpha = 4 // Alphabetic.
+ X_ISwdigit = 8 // Numeric.
+ X_ISwxdigit = 16 // Hexadecimal numeric.
+ X_ISwspace = 32 // Whitespace.
+ X_ISwprint = 64 // Printing.
+ X_ISwgraph = 128 // Graphical.
+ X_ISwblank = 256 // Blank (usually SPC and TAB).
+ X_ISwcntrl = 512 // Control character.
+ X_ISwpunct = 1024 // Punctuation.
+ X_ISwalnum = 2048
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// These are defined by the user (or the compiler)
+// to specify the desired environment:
+//
+// __STRICT_ANSI__ ISO Standard C.
+// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+// __STDC_WANT_LIB_EXT2__
+// Extensions to ISO C99 from TR 27431-2:2010.
+// __STDC_WANT_IEC_60559_BFP_EXT__
+// Extensions to ISO C11 from TS 18661-1:2014.
+// __STDC_WANT_IEC_60559_FUNCS_EXT__
+// Extensions to ISO C11 from TS 18661-4:2015.
+// __STDC_WANT_IEC_60559_TYPES_EXT__
+// Extensions to ISO C11 from TS 18661-3:2015.
+//
+// _POSIX_SOURCE IEEE Std 1003.1.
+// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+// if >=199309L, add IEEE Std 1003.1b-1993;
+// if >=199506L, add IEEE Std 1003.1c-1995;
+// if >=200112L, all of IEEE 1003.1-2004
+// if >=200809L, all of IEEE 1003.1-2008
+// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
+// Single Unix conformance is wanted, to 600 for the
+// sixth revision, to 700 for the seventh revision.
+// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
+// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
+// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
+// _FILE_OFFSET_BITS=N Select default filesystem interface.
+// _ATFILE_SOURCE Additional *at interfaces.
+// _GNU_SOURCE All of the above, plus GNU extensions.
+// _DEFAULT_SOURCE The default set of features (taking precedence over
+// __STRICT_ANSI__).
+//
+// _FORTIFY_SOURCE Add security hardening to many library functions.
+// Set to 1 or 2; 2 performs stricter checks than 1.
+//
+// _REENTRANT, _THREAD_SAFE
+// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
+//
+// The `-ansi' switch to the GNU C compiler, and standards conformance
+// options such as `-std=c99', define __STRICT_ANSI__. If none of
+// these are defined, or if _DEFAULT_SOURCE is defined, the default is
+// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+// 200809L, as well as enabling miscellaneous functions from BSD and
+// SVID. If more than one of these are defined, they accumulate. For
+// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+// give you ISO C, 1003.1, and 1003.2, but nothing else.
+//
+// These are defined by this file and are used by the
+// header files to decide what to declare or define:
+//
+// __GLIBC_USE (F) Define things from feature set F. This is defined
+// to 1 or 0; the subsequent macros are either defined
+// or undefined, and those tests should be moved to
+// __GLIBC_USE.
+// __USE_ISOC11 Define ISO C11 things.
+// __USE_ISOC99 Define ISO C99 things.
+// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+// __USE_ISOCXX11 Define ISO C++11 things.
+// __USE_POSIX Define IEEE Std 1003.1 things.
+// __USE_POSIX2 Define IEEE Std 1003.2 things.
+// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
+// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
+// __USE_XOPEN Define XPG things.
+// __USE_XOPEN_EXTENDED Define X/Open Unix things.
+// __USE_UNIX98 Define Single Unix V2 things.
+// __USE_XOPEN2K Define XPG6 things.
+// __USE_XOPEN2KXSI Define XPG6 XSI things.
+// __USE_XOPEN2K8 Define XPG7 things.
+// __USE_XOPEN2K8XSI Define XPG7 XSI things.
+// __USE_LARGEFILE Define correct standard I/O things.
+// __USE_LARGEFILE64 Define LFS things with separate names.
+// __USE_FILE_OFFSET64 Define 64bit interface as default.
+// __USE_MISC Define things from 4.3BSD or System V Unix.
+// __USE_ATFILE Define *at interfaces and AT_* constants for them.
+// __USE_GNU Define GNU extensions.
+// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
+//
+// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
+// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
+// only for compatibility. All new code should use the other symbols
+// to test for features.
+//
+// All macros listed above as possibly being defined by this file are
+// explicitly undefined if they are not explicitly defined.
+// Feature-test macros that are not defined by the user or compiler
+// but are implied by the other feature-test macros defined (or by the
+// lack of any definitions) are defined by the file.
+//
+// ISO C feature test macros depend on the definition of the macro
+// when an affected header is included, not when the first system
+// header is included, and so they are handled in
+// <bits/libc-header-start.h>, which does not have a multiple include
+// guard. Feature test macros that can be handled from the first
+// system header included are handled here.
+
+// Undefine everything, so we get a clean slate.
+
+// Suppress kernel-name space pollution unless user expressedly asks
+// for it.
+
+// Convenience macro to test the version of gcc.
+// Use like this:
+// #if __GNUC_PREREQ (2,8)
+// ... code requiring gcc 2.8 or later ...
+// #endif
+// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
+// added in 2.0.
+
+// Similarly for clang. Features added to GCC after version 4.2 may
+// or may not also be available in clang, and clang's definitions of
+// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
+// features can be queried via __has_extension/__has_feature.
+
+// Whether to use feature set F.
+
+// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
+// issue a warning; the expectation is that the source is being
+// transitioned to use the new macro.
+
+// If _GNU_SOURCE was defined by the user, turn on all the other features.
+
+// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
+// define _DEFAULT_SOURCE.
+
+// This is to enable the ISO C2X extension.
+
+// This is to enable the ISO C11 extension.
+
+// This is to enable the ISO C99 extension.
+
+// This is to enable the ISO C90 Amendment 1:1995 extension.
+
+// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
+// is defined, use POSIX.1-2008 (or another version depending on
+// _XOPEN_SOURCE).
+
+// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+// defined in all multithreaded code. GNU libc has not required this
+// for many years. We now treat them as compatibility synonyms for
+// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
+// comprehensive support for multithreaded code. Using them never
+// lowers the selected level of POSIX conformance, only raises it.
+
+// The function 'gets' existed in C89, but is impossible to use
+// safely. It has been removed from ISO C11 and ISO C++14. Note: for
+// compatibility with various implementations of <cstdio>, this test
+// must consider only the value of __cplusplus when compiling C++.
+
+// GNU formerly extended the scanf functions with modified format
+// specifiers %as, %aS, and %a[...] that allocate a buffer for the
+// input using malloc. This extension conflicts with ISO C99, which
+// defines %a as a standalone format specifier that reads a floating-
+// point number; moreover, POSIX.1-2008 provides the same feature
+// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+//
+// We now follow C99 unless GNU extensions are active and the compiler
+// is specifically in C89 or C++98 mode (strict or not). For
+// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+// old extension.
+
+// Get definitions of __STDC_* predefined macros, if the compiler has
+// not preincluded this header automatically.
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// This macro indicates that the installed library is the GNU C Library.
+// For historic reasons the value now is 6 and this will stay from now
+// on. The use of this variable is deprecated. Use __GLIBC__ and
+// __GLIBC_MINOR__ now (see below) when you want to test for a specific
+// GNU C library version and use the values in <gnu/lib-names.h> to get
+// the sonames of the shared libraries.
+
+// Major and minor version number of the GNU C library package. Use
+// these macros to test for features in specific releases.
+
+// This is here only because every header file already includes this one.
+// Copyright (C) 1992-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// We are almost always included from features.h.
+
+// The GNU libc does not support any K&R compilers or the traditional mode
+// of ISO C compilers anymore. Check for some of the combinations not
+// anymore supported.
+
+// Some user header file might have defined this before.
+
+// All functions, except those with callbacks or those that
+// synchronize memory, are leaf functions.
+
+// GCC can always grok prototypes. For C++ programs we add throw()
+// to help it optimize the function calls. But this works only with
+// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
+// as non-throwing using a function attribute since programs can use
+// the -fexceptions options for C code as well.
+
+// Compilers that are not clang may object to
+// #if defined __clang__ && __has_extension(...)
+// even though they do not need to evaluate the right-hand side of the &&.
+
+// These two macros are not used in glibc anymore. They are kept here
+// only because some other projects expect the macros to be defined.
+
+// For these things, GCC behaves the ANSI way normally,
+// and the non-ANSI way under -traditional.
+
+// This is not a typedef so `const __ptr_t' does the right thing.
+
+// C++ needs to know that types and declarations are C, not C++.
+
+// Fortify support.
+
+// Support for flexible arrays.
+// Headers that should use flexible arrays only if they're "real"
+// (e.g. only if they won't affect sizeof()) should test
+// #if __glibc_c99_flexarr_available.
+
+// __asm__ ("xyz") is used throughout the headers to rename functions
+// at the assembly language level. This is wrapped by the __REDIRECT
+// macro, in order to support compilers that can do this some other
+// way. When compilers don't support asm-names at all, we have to do
+// preprocessor tricks instead (which don't have exactly the right
+// semantics, but it's the best we can do).
+//
+// Example:
+// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
+
+//
+// #elif __SOME_OTHER_COMPILER__
+//
+// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
+
+// GCC has various useful declarations that can be made with the
+// `__attribute__' syntax. All of the ways we use this do fine if
+// they are omitted for compilers that don't understand it.
+
+// At some point during the gcc 2.96 development the `malloc' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Tell the compiler which arguments to an allocation function
+// indicate the size of the allocation.
+
+// At some point during the gcc 2.96 development the `pure' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// This declaration tells the compiler that the value is constant.
+
+// At some point during the gcc 3.1 development the `used' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+
+// Since version 3.2, gcc allows marking deprecated functions.
+
+// Since version 4.5, gcc also allows one to specify the message printed
+// when a deprecated function is used. clang claims to be gcc 4.2, but
+// may also support this feature.
+
+// At some point during the gcc 2.8 development the `format_arg' attribute
+// for functions was introduced. We don't want to use it unconditionally
+// (although this would be possible) since it generates warnings.
+// If several `format_arg' attributes are given for the same function, in
+// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
+// all designated arguments are considered.
+
+// At some point during the gcc 2.97 development the `strfmon' format
+// attribute for functions was introduced. We don't want to use it
+// unconditionally (although this would be possible) since it
+// generates warnings.
+
+// The nonull function attribute allows to mark pointer parameters which
+// must not be NULL.
+
+// If fortification mode, we warn about unused results of certain
+// function calls which can lead to problems.
+
+// Forces a function to be always inlined.
+// The Linux kernel defines __always_inline in stddef.h (283d7573), and
+// it conflicts with this definition. Therefore undefine it first to
+// allow either header to be included first.
+
+// Associate error messages with the source location of the call site rather
+// than with the source location inside the function.
+
+// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
+// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+// older than 4.3 may define these macros and still not guarantee GNU inlining
+// semantics.
+//
+// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
+// __GNUC_GNU_INLINE__ macro definitions.
+
+// GCC 4.3 and above allow passing all anonymous arguments of an
+// __extern_always_inline function to some other vararg function.
+
+// It is possible to compile containing GCC extensions even if GCC is
+// run in pedantic mode if the uses are carefully marked using the
+// `__extension__' keyword. But this is not generally available before
+// version 2.8.
+
+// __restrict is known in EGCS 1.2 and above.
+
+// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+// array_name[restrict]
+// GCC 3.1 supports this.
+
+// Describes a char array whose address can safely be passed as the first
+// argument to strncpy and strncat, as the char array is not necessarily
+// a NUL-terminated string.
+
+// Undefine (also defined in libc-symbols.h).
+// Copies attributes from the declaration or type referenced by
+// the argument.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Properties of long double type. ldbl-opt version.
+// Copyright (C) 2016-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
+// intended for use in preprocessor macros.
+//
+// Note: MESSAGE must be a _single_ string; concatenation of string
+// literals is not supported.
+
+// Generic selection (ISO C11) is a C-only feature, available in GCC
+// since version 4.9. Previous versions do not provide generic
+// selection, even though they might set __STDC_VERSION__ to 201112L,
+// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
+// when testing __STDC_VERSION__ for generic selection support.
+// On the other hand, Clang also defines __GNUC__, so a clang-specific
+// check is required to enable the use of generic selection.
+
+// If we don't have __REDIRECT, prototypes will be missing if
+// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
+
+// Decide whether we can define 'extern inline' functions in headers.
+
+// This is here only because every header file already includes this one.
+// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
+// that will always return failure (and set errno to ENOSYS).
+// This file is automatically generated.
+// This file selects the right generated file of `__stub_FUNCTION' macros
+// based on the architecture being compiled for.
+
+// Determine the wordsize from the preprocessor defines.
+
+// This file is automatically generated.
+// It defines a symbol `__stub_FUNCTION' for each function
+// in the C library which is a stub, meaning it will fail
+// every time called, usually setting errno to ENOSYS.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1991-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Bit size of the time_t type at glibc build time, general case.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Determine the wordsize from the preprocessor defines.
+
+// Size in bits of the 'time_t' type of the default ABI.
+
+// Convenience types.
+type X__u_char = uint8 /* types.h:31:23 */
+type X__u_short = uint16 /* types.h:32:28 */
+type X__u_int = uint32 /* types.h:33:22 */
+type X__u_long = uint64 /* types.h:34:27 */
+
+// Fixed-size types, underlying types depend on word size and compiler.
+type X__int8_t = int8 /* types.h:37:21 */
+type X__uint8_t = uint8 /* types.h:38:23 */
+type X__int16_t = int16 /* types.h:39:26 */
+type X__uint16_t = uint16 /* types.h:40:28 */
+type X__int32_t = int32 /* types.h:41:20 */
+type X__uint32_t = uint32 /* types.h:42:22 */
+type X__int64_t = int64 /* types.h:44:25 */
+type X__uint64_t = uint64 /* types.h:45:27 */
+
+// Smallest types with at least a given width.
+type X__int_least8_t = X__int8_t /* types.h:52:18 */
+type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
+type X__int_least16_t = X__int16_t /* types.h:54:19 */
+type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
+type X__int_least32_t = X__int32_t /* types.h:56:19 */
+type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
+type X__int_least64_t = X__int64_t /* types.h:58:19 */
+type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
+
+// quad_t is also 64 bits.
+type X__quad_t = int64 /* types.h:63:18 */
+type X__u_quad_t = uint64 /* types.h:64:27 */
+
+// Largest integral types.
+type X__intmax_t = int64 /* types.h:72:18 */
+type X__uintmax_t = uint64 /* types.h:73:27 */
+
+// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+// macros for each of the OS types we define below. The definitions
+// of those macros must use the following macros for underlying types.
+// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+// variants of each of the following integer types on this machine.
+//
+// 16 -- "natural" 16-bit type (always short)
+// 32 -- "natural" 32-bit type (always int)
+// 64 -- "natural" 64-bit type (long or long long)
+// LONG32 -- 32-bit type, traditionally long
+// QUAD -- 64-bit type, traditionally long long
+// WORD -- natural type of __WORDSIZE bits (int or long)
+// LONGWORD -- type of __WORDSIZE bits, traditionally long
+//
+// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+// conventional uses of `long' or `long long' type modifiers match the
+// types we define, even when a less-adorned type would be the same size.
+// This matters for (somewhat) portably writing printf/scanf formats for
+// these types, where using the appropriate l or ll format modifiers can
+// make the typedefs and the formats match up across all GNU platforms. If
+// we used `long' when it's 64 bits where `long long' is expected, then the
+// compiler would warn about the formats not matching the argument types,
+// and the programmer changing them to shut up the compiler would break the
+// program's portability.
+//
+// Here we assume what is presently the case in all the GCC configurations
+// we support: long long is always 64 bits, long is always word/address size,
+// and int is always 32 bits.
+
+// No need to mark the typedef with __extension__.
+// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
+// Copyright (C) 2003-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// See <bits/types.h> for the meaning of these macros. This file exists so
+// that <bits/types.h> need not vary across different GNU platforms.
+
+// size_t is unsigned long int on s390 -m31.
+
+// Tell the libc code that off_t and off64_t are actually the same type
+// for all ABI purposes, even if possibly expressed as different base types
+// for C type-checking purposes.
+
+// Same for ino_t and ino64_t.
+
+// And for __rlim_t and __rlim64_t.
+
+// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
+
+// Number of descriptors that can fit in an `fd_set'.
+
+// bits/time64.h -- underlying types for __time64_t. Generic version.
+// Copyright (C) 2018-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Define __TIME64_T_TYPE so that it is always a 64-bit type.
+
+// If we already have 64-bit time type then use it.
+
+type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
+type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
+type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
+type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
+type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
+type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
+type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
+type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
+type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
+type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
+type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
+type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
+type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
+type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
+type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
+type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
+type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
+type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
+
+type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
+type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
+
+// Clock ID used in clock and timer functions.
+type X__clockid_t = int32 /* types.h:168:29 */
+
+// Timer ID returned by `timer_create'.
+type X__timer_t = uintptr /* types.h:171:12 */
+
+// Type to represent block size.
+type X__blksize_t = int64 /* types.h:174:29 */
+
+// Types from the Large File Support interface.
+
+// Type to count number of disk blocks.
+type X__blkcnt_t = int64 /* types.h:179:28 */
+type X__blkcnt64_t = int64 /* types.h:180:30 */
+
+// Type to count file system blocks.
+type X__fsblkcnt_t = uint64 /* types.h:183:30 */
+type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
+
+// Type to count file system nodes.
+type X__fsfilcnt_t = uint64 /* types.h:187:30 */
+type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
+
+// Type of miscellaneous file system fields.
+type X__fsword_t = int64 /* types.h:191:28 */
+
+type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
+
+// Signed long type used in system calls.
+type X__syscall_slong_t = int64 /* types.h:196:33 */
+// Unsigned long type used in system calls.
+type X__syscall_ulong_t = uint64 /* types.h:198:33 */
+
+// These few don't really vary by system, they always correspond
+// to one of the other defined types.
+type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
+type X__caddr_t = uintptr /* types.h:203:14 */
+
+// Duplicates info from stdint.h but this is used in unistd.h.
+type X__intptr_t = int64 /* types.h:206:25 */
+
+// Duplicate info from sys/socket.h.
+type X__socklen_t = uint32 /* types.h:209:23 */
+
+// C99: An integer type that can be accessed as an atomic entity,
+// even in the presence of asynchronous interrupts.
+// It is not currently necessary for this to be machine-specific.
+type X__sig_atomic_t = int32 /* types.h:214:13 */
+
+// Seconds since the Epoch, visible to user code when time_t is too
+// narrow only for consistency with the old way of widening too-narrow
+// types. User code should never use __time64_t.
+
+// Some versions of stddef.h provide wint_t, even though neither the
+// C nor C++ standards, nor POSIX, specifies this. We assume that
+// stddef.h will define the macro _WINT_T if and only if it provides
+// wint_t, and conversely, that it will avoid providing wint_t if
+// _WINT_T is already defined.
+
+// Integral type unchanged by default argument promotions that can
+// hold any value corresponding to members of the extended character
+// set, as well as at least one value that does not correspond to any
+// member of the extended character set.
+
+type Wint_t = uint32 /* wint_t.h:20:23 */
+
+// Constant expression of type `wint_t' whose value does not correspond
+// to any member of the extended character set.
+
+// Some definitions from this header also appear in <wchar.h> in
+// Unix98 mode.
+// Copyright (C) 1996-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// ISO C99 Standard: 7.25
+// Wide character classification and mapping utilities <wctype.h>
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// The definitions in this header are specified to appear in <wctype.h>
+// in ISO C99, but in <wchar.h> in Unix98. _GNU_SOURCE follows C99.
+
+// Scalar type that can hold values which represent locale-specific
+// character classifications.
+type Wctype_t = uint64 /* wctype-wchar.h:38:27 */
+
+// Extensible wide-character mapping functions: 7.15.3.2.
+
+// Scalar type that can hold values which represent locale-specific
+// character mappings.
+type Wctrans_t = uintptr /* wctype.h:48:25 */
+
+// POSIX.1-2008 extended locale interface (see locale.h).
+// Definition of locale_t.
+// Copyright (C) 2017-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// Definition of struct __locale_struct and __locale_t.
+// Copyright (C) 1997-2020 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <https://www.gnu.org/licenses/>.
+
+// POSIX.1-2008: the locale_t type, representing a locale context
+// (implementation-namespace version). This type should be treated
+// as opaque by applications; some details are exposed for the sake of
+// efficiency in e.g. ctype functions.
+
+type X__locale_struct = struct {
+ F__locales [13]uintptr
+ F__ctype_b uintptr
+ F__ctype_tolower uintptr
+ F__ctype_toupper uintptr
+ F__names [13]uintptr
+} /* __locale_t.h:28:1 */
+
+type X__locale_t = uintptr /* __locale_t.h:42:32 */
+
+type Locale_t = X__locale_t /* locale_t.h:24:20 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_netbsd_amd64.go b/vendor/modernc.org/libc/wctype/wctype_netbsd_amd64.go
new file mode 100644
index 000000000..6d8e03418
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_netbsd_amd64.go
@@ -0,0 +1,326 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_netbsd_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ X_AMD64_INT_TYPES_H_ = 0
+ X_FILE_OFFSET_BITS = 64
+ X_LP64 = 1
+ X_NETBSD_SOURCE = 1
+ X_SYS_ANSI_H_ = 0
+ X_SYS_CDEFS_ELF_H_ = 0
+ X_SYS_CDEFS_H_ = 0
+ X_SYS_COMMON_ANSI_H_ = 0
+ X_SYS_COMMON_INT_TYPES_H_ = 0
+ X_WCTYPE_H_ = 0
+ X_X86_64_CDEFS_H_ = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+// return true if value 'a' fits in type 't'
+
+// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
+
+// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
+// Public domain.
+//
+// NOTE: Do not protect this header against multiple inclusion. Doing
+// so can have subtle side-effects due to header file inclusion order
+// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
+// protect each CPP macro that we want to supply.
+
+// Feature-test macros are defined by several standards, and allow an
+// application to specify what symbols they want the system headers to
+// expose, and hence what standard they want them to conform to.
+// There are two classes of feature-test macros. The first class
+// specify complete standards, and if one of these is defined, header
+// files will try to conform to the relevant standard. They are:
+//
+// ANSI macros:
+// _ANSI_SOURCE ANSI C89
+//
+// POSIX macros:
+// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
+// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
+// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
+// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
+// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
+// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
+// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
+//
+// X/Open macros:
+// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
+// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
+// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
+// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
+// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
+// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
+//
+// NetBSD macros:
+// _NETBSD_SOURCE == 1 Make all NetBSD features available.
+//
+// If more than one of these "major" feature-test macros is defined,
+// then the set of facilities provided (and namespace used) is the
+// union of that specified by the relevant standards, and in case of
+// conflict, the earlier standard in the above list has precedence (so
+// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
+// of rename() that's used is the POSIX one). If none of the "major"
+// feature-test macros is defined, _NETBSD_SOURCE is assumed.
+//
+// There are also "minor" feature-test macros, which enable extra
+// functionality in addition to some base standard. They should be
+// defined along with one of the "major" macros. The "minor" macros
+// are:
+//
+// _REENTRANT
+// _ISOC99_SOURCE
+// _ISOC11_SOURCE
+// _LARGEFILE_SOURCE Large File Support
+// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
+
+// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
+
+// -
+// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Jun-ichiro itojun Hagino and by Klaus Klein.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
+
+// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Matt Thomas of 3am Software Foundry.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
+
+// * Copyright (c) 1991, 1993
+// The Regents of the University of California. All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Berkeley Software Design, Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
+
+// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 1990 The Regents of the University of California.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. Neither the name of the University nor the names of its contributors
+// may be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// from: @(#)types.h 7.5 (Berkeley) 3/9/91
+
+// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
+
+// -
+// Copyright (c) 2014 The NetBSD Foundation, Inc.
+// All rights reserved.
+//
+// This code is derived from software contributed to The NetBSD Foundation
+// by Joerg Sonnenberger.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+type X__int8_t = int8 /* common_int_types.h:45:27 */
+type X__uint8_t = uint8 /* common_int_types.h:46:27 */
+type X__int16_t = int16 /* common_int_types.h:47:27 */
+type X__uint16_t = uint16 /* common_int_types.h:48:27 */
+type X__int32_t = int32 /* common_int_types.h:49:27 */
+type X__uint32_t = uint32 /* common_int_types.h:50:27 */
+type X__int64_t = int64 /* common_int_types.h:51:27 */
+type X__uint64_t = uint64 /* common_int_types.h:52:27 */
+
+// 7.18.1.4 Integer types capable of holding object pointers
+
+type X__intptr_t = int64 /* common_int_types.h:58:27 */
+type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
+
+// Types which are fundamental to the implementation and may appear in
+// more than one standard header are defined here. Standard headers
+// then use:
+// #ifdef _BSD_SIZE_T_
+// typedef _BSD_SIZE_T_ size_t;
+// #undef _BSD_SIZE_T_
+// #endif
+
+type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
+type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
+type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
+type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
+type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
+type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
+type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
+type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
+type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
+type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
+type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
+type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
+type X__wctrans_t = uintptr /* ansi.h:51:32 */
+type X__wctype_t = uintptr /* ansi.h:54:31 */
+
+// mbstate_t is an opaque object to keep conversion state, during multibyte
+// stream conversions. The content must not be referenced by user programs.
+type X__mbstate_t = struct {
+ F__mbstateL X__int64_t
+ F__ccgo_pad1 [120]byte
+} /* ansi.h:63:3 */
+
+type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
+
+type Wint_t = int32 /* wctype.h:39:25 */
+
+type Wctrans_t = X__wctrans_t /* wctype.h:44:25 */
+
+type Wctype_t = X__wctype_t /* wctype.h:49:24 */
+
+type Locale_t = uintptr /* wctype.h:79:25 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_windows_386.go b/vendor/modernc.org/libc/wctype/wctype_windows_386.go
new file mode 100644
index 000000000..56f1502a8
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_windows_386.go
@@ -0,0 +1,288 @@
+// Code generated by 'ccgo wctype/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 wctype/wctype_windows_386.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ DUMMYSTRUCTNAME = 0
+ DUMMYSTRUCTNAME1 = 0
+ DUMMYSTRUCTNAME2 = 0
+ DUMMYSTRUCTNAME3 = 0
+ DUMMYSTRUCTNAME4 = 0
+ DUMMYSTRUCTNAME5 = 0
+ DUMMYUNIONNAME = 0
+ DUMMYUNIONNAME1 = 0
+ DUMMYUNIONNAME2 = 0
+ DUMMYUNIONNAME3 = 0
+ DUMMYUNIONNAME4 = 0
+ DUMMYUNIONNAME5 = 0
+ DUMMYUNIONNAME6 = 0
+ DUMMYUNIONNAME7 = 0
+ DUMMYUNIONNAME8 = 0
+ DUMMYUNIONNAME9 = 0
+ MINGW_DDK_H = 0
+ MINGW_HAS_DDK_H = 1
+ MINGW_HAS_SECURE_API = 1
+ MINGW_SDK_INIT = 0
+ UNALIGNED = 0
+ USE___UUIDOF = 0
+ WIN32 = 1
+ WINNT = 1
+ X_AGLOBAL = 0
+ X_ALPHA = 259
+ X_ANONYMOUS_STRUCT = 0
+ X_ANONYMOUS_UNION = 0
+ X_ARGMAX = 100
+ X_BLANK = 0x40
+ X_CONST_RETURN = 0
+ X_CONTROL = 0x20
+ X_CRTNOALIAS = 0
+ X_CRTRESTRICT = 0
+ X_CRT_ALTERNATIVE_IMPORTED = 0
+ X_CRT_CTYPEDATA_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_USE_WINAPI_FAMILY_DESKTOP_APP = 0
+ X_CRT_WCTYPEDATA_DEFINED = 0
+ X_DIGIT = 0x4
+ X_DLL = 0
+ X_ERRCODE_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_HEX = 0x80
+ X_ILP32 = 1
+ X_INC_CORECRT = 0
+ X_INC_CRTDEFS = 0
+ X_INC_CRTDEFS_MACRO = 0
+ X_INC_MINGW_SECAPI = 0
+ X_INC_VADEFS = 0
+ X_INC_WCTYPE = 0
+ X_INC__MINGW_H = 0
+ X_INT128_DEFINED = 0
+ X_INTEGRAL_MAX_BITS = 64
+ X_INTPTR_T_DEFINED = 0
+ X_LEADBYTE = 0x8000
+ X_LOWER = 0x2
+ X_MT = 0
+ X_M_IX86 = 600
+ X_PGLOBAL = 0
+ X_PTRDIFF_T_ = 0
+ X_PTRDIFF_T_DEFINED = 0
+ X_PUNCT = 0x10
+ X_RSIZE_T_DEFINED = 0
+ X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
+ X_SIZE_T_DEFINED = 0
+ X_SPACE = 0x8
+ X_SSIZE_T_DEFINED = 0
+ X_TAGLC_ID_DEFINED = 0
+ X_THREADLOCALEINFO = 0
+ X_TIME32_T_DEFINED = 0
+ X_TIME64_T_DEFINED = 0
+ X_TIME_T_DEFINED = 0
+ X_UINTPTR_T_DEFINED = 0
+ X_UPPER = 0x1
+ X_USE_32BIT_TIME_T = 0
+ X_VA_LIST_DEFINED = 0
+ X_W64 = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCTYPE_DEFINED = 0
+ X_WCTYPE_INLINE_DEFINED = 0
+ X_WCTYPE_T_DEFINED = 0
+ X_WIN32 = 1
+ X_WIN32_WINNT = 0x502
+ X_WINT_T = 0
+ X_X86_ = 1
+ I386 = 1
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint16 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+type Va_list = X__builtin_va_list /* <builtin>:50:27 */
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+// a specific fix/patch is present on trunk. This value isn't related to
+// minor/major version-macros. It is increased on demand, if a big
+// fix was applied to trunk. This macro gets just increased on trunk. For
+// other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+// and the __mingwthr_key_dtor() function from the MinGW
+// CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// For x86 we have always to prefix by underscore.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+// So we add some helper macros to ease recognition of them.
+
+// 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.
+
+// *
+// 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 = int32 /* corecrt.h:52:13 */
+
+type Rsize_t = Size_t /* corecrt.h:57:16 */
+
+type Intptr_t = int32 /* corecrt.h:69:13 */
+
+type Uintptr_t = uint32 /* corecrt.h:82:22 */
+
+type Wint_t = uint16 /* corecrt.h:111:24 */
+type Wctype_t = uint16 /* corecrt.h:112:24 */
+
+type Errno_t = int32 /* corecrt.h:118:13 */
+
+type X__time32_t = int32 /* corecrt.h:123:14 */
+
+type X__time64_t = int64 /* corecrt.h:128:35 */
+
+type Time_t = X__time32_t /* corecrt.h:141:20 */
+
+type Threadlocaleinfostruct = struct {
+ Frefcount int32
+ Flc_codepage uint32
+ Flc_collate_cp uint32
+ Flc_handle [6]uint32
+ Flc_id [6]LC_ID
+ Flc_category [6]struct {
+ Flocale uintptr
+ Fwlocale uintptr
+ Frefcount uintptr
+ Fwrefcount uintptr
+ }
+ Flc_clike int32
+ Fmb_cur_max int32
+ Flconv_intl_refcount uintptr
+ Flconv_num_refcount uintptr
+ Flconv_mon_refcount uintptr
+ Flconv uintptr
+ Fctype1_refcount uintptr
+ Fctype1 uintptr
+ Fpctype uintptr
+ Fpclmap uintptr
+ Fpcumap uintptr
+ Flc_time_curr uintptr
+} /* corecrt.h:435:1 */
+
+type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
+
+type Localeinfo_struct = struct {
+ Flocinfo Pthreadlocinfo
+ Fmbcinfo Pthreadmbcinfo
+} /* corecrt.h:441:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
+type X_locale_t = uintptr /* corecrt.h:444:19 */
+
+type TagLC_ID = struct {
+ FwLanguage uint16
+ FwCountry uint16
+ FwCodePage uint16
+} /* corecrt.h:435:1 */
+
+type LC_ID = TagLC_ID /* corecrt.h:452:3 */
+type LPLC_ID = uintptr /* corecrt.h:452:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
+
+type Wctrans_t = Wchar_t /* wctype.h:174:19 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/wctype/wctype_windows_amd64.go b/vendor/modernc.org/libc/wctype/wctype_windows_amd64.go
new file mode 100644
index 000000000..82f16c76b
--- /dev/null
+++ b/vendor/modernc.org/libc/wctype/wctype_windows_amd64.go
@@ -0,0 +1,287 @@
+// Code generated by 'ccgo wctype\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 wctype\wctype_windows_amd64.go -pkgname wctype', DO NOT EDIT.
+
+package wctype
+
+import (
+ "math"
+ "reflect"
+ "sync/atomic"
+ "unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+ DUMMYSTRUCTNAME = 0
+ DUMMYSTRUCTNAME1 = 0
+ DUMMYSTRUCTNAME2 = 0
+ DUMMYSTRUCTNAME3 = 0
+ DUMMYSTRUCTNAME4 = 0
+ DUMMYSTRUCTNAME5 = 0
+ DUMMYUNIONNAME = 0
+ DUMMYUNIONNAME1 = 0
+ DUMMYUNIONNAME2 = 0
+ DUMMYUNIONNAME3 = 0
+ DUMMYUNIONNAME4 = 0
+ DUMMYUNIONNAME5 = 0
+ DUMMYUNIONNAME6 = 0
+ DUMMYUNIONNAME7 = 0
+ DUMMYUNIONNAME8 = 0
+ DUMMYUNIONNAME9 = 0
+ MINGW_DDK_H = 0
+ MINGW_DDRAW_VERSION = 7
+ MINGW_HAS_DDK_H = 1
+ MINGW_HAS_DDRAW_H = 1
+ MINGW_HAS_SECURE_API = 1
+ MINGW_SDK_INIT = 0
+ UNALIGNED = 0
+ USE___UUIDOF = 0
+ WIN32 = 1
+ WIN64 = 1
+ WINNT = 1
+ X_AGLOBAL = 0
+ X_ALPHA = 259
+ X_ANONYMOUS_STRUCT = 0
+ X_ANONYMOUS_UNION = 0
+ X_ARGMAX = 100
+ X_BLANK = 0x40
+ X_CONST_RETURN = 0
+ X_CONTROL = 0x20
+ X_CRTNOALIAS = 0
+ X_CRTRESTRICT = 0
+ X_CRT_ALTERNATIVE_IMPORTED = 0
+ X_CRT_CTYPEDATA_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_WCTYPEDATA_DEFINED = 0
+ X_DIGIT = 0x4
+ X_DLL = 0
+ X_ERRCODE_DEFINED = 0
+ X_FILE_OFFSET_BITS = 64
+ X_HEX = 0x80
+ X_INC_CRTDEFS = 0
+ X_INC_CRTDEFS_MACRO = 0
+ X_INC_MINGW_SECAPI = 0
+ X_INC_VADEFS = 0
+ X_INC_WCTYPE = 0
+ X_INC__MINGW_H = 0
+ X_INT128_DEFINED = 0
+ X_INTEGRAL_MAX_BITS = 64
+ X_INTPTR_T_DEFINED = 0
+ X_LEADBYTE = 0x8000
+ X_LOWER = 0x2
+ X_MT = 0
+ X_M_AMD64 = 100
+ X_M_X64 = 100
+ X_PGLOBAL = 0
+ X_PTRDIFF_T_ = 0
+ X_PTRDIFF_T_DEFINED = 0
+ X_PUNCT = 0x10
+ X_REENTRANT = 1
+ X_RSIZE_T_DEFINED = 0
+ X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
+ X_SIZE_T_DEFINED = 0
+ X_SPACE = 0x8
+ X_SSIZE_T_DEFINED = 0
+ X_TAGLC_ID_DEFINED = 0
+ X_THREADLOCALEINFO = 0
+ X_TIME32_T_DEFINED = 0
+ X_TIME64_T_DEFINED = 0
+ X_TIME_T_DEFINED = 0
+ X_UINTPTR_T_DEFINED = 0
+ X_UPPER = 0x1
+ X_VA_LIST_DEFINED = 0
+ X_W64 = 0
+ X_WCHAR_T_DEFINED = 0
+ X_WCTYPE_DEFINED = 0
+ X_WCTYPE_INLINE_DEFINED = 0
+ X_WCTYPE_T_DEFINED = 0
+ X_WIN32 = 1
+ X_WIN32_WINNT = 0x502
+ X_WIN64 = 1
+ X_WINT_T = 0
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = uint16 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+ Flo int64
+ Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+ Flo uint64
+ Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64 /* <builtin>:47:21 */
+
+type Va_list = X__builtin_va_list /* <builtin>:50:27 */
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+// a specific fix/patch is present on trunk. This value isn't related to
+// minor/major version-macros. It is increased on demand, if a big
+// fix was applied to trunk. This macro gets just increased on trunk. For
+// other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+// and the __mingwthr_key_dtor() function from the MinGW
+// CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// MS does not prefix symbols by underscores for 64-bit.
+// As we have to support older gcc version, which are using underscores
+// as symbol prefix for x64, we have to check here for the user label
+// prefix defined by gcc.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+// So we add some helper macros to ease recognition of them.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
+// Templates won't work in C, will break if secure API is not enabled, disabled
+
+// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
+// fallback on default implementation if we can't know the size of the destination
+
+// Include _cygwin.h if we're building a Cygwin application.
+
+// Target specific macro replacement for type "long". In the Windows API,
+// the type long is always 32 bit, even if the target is 64 bit (LLP64).
+// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
+// sized definitions and declarations, all usage of type long in the Windows
+// headers have to be replaced by the below defined macro __LONG32.
+
+// C/C++ specific language defines.
+
+// Note the extern. This is needed to work around GCC's
+// limitations in handling dllimport attribute.
+
+// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
+// variadiac macro facility, because variadic macros cause syntax
+// errors with --traditional-cpp.
+
+// High byte is the major version, low byte is the minor.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
+
+type Ssize_t = int64 /* crtdefs.h:45:35 */
+
+type Rsize_t = Size_t /* crtdefs.h:52:16 */
+
+type Intptr_t = int64 /* crtdefs.h:62:35 */
+
+type Uintptr_t = uint64 /* crtdefs.h:75:44 */
+
+type Wint_t = uint16 /* crtdefs.h:106:24 */
+type Wctype_t = uint16 /* crtdefs.h:107:24 */
+
+type Errno_t = int32 /* crtdefs.h:113:13 */
+
+type X__time32_t = int32 /* crtdefs.h:118:14 */
+
+type X__time64_t = int64 /* crtdefs.h:123:35 */
+
+type Time_t = X__time64_t /* crtdefs.h:138:20 */
+
+type Threadlocaleinfostruct = struct {
+ Frefcount int32
+ Flc_codepage uint32
+ Flc_collate_cp uint32
+ Flc_handle [6]uint32
+ Flc_id [6]LC_ID
+ Flc_category [6]struct {
+ Flocale uintptr
+ Fwlocale uintptr
+ Frefcount uintptr
+ Fwrefcount uintptr
+ }
+ Flc_clike int32
+ Fmb_cur_max int32
+ Flconv_intl_refcount uintptr
+ Flconv_num_refcount uintptr
+ Flconv_mon_refcount uintptr
+ Flconv uintptr
+ Fctype1_refcount uintptr
+ Fctype1 uintptr
+ Fpctype uintptr
+ Fpclmap uintptr
+ Fpcumap uintptr
+ Flc_time_curr uintptr
+} /* crtdefs.h:422:1 */
+
+type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
+type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
+
+type Localeinfo_struct = struct {
+ Flocinfo Pthreadlocinfo
+ Fmbcinfo Pthreadmbcinfo
+} /* crtdefs.h:428:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
+type X_locale_t = uintptr /* crtdefs.h:431:19 */
+
+type TagLC_ID = struct {
+ FwLanguage uint16
+ FwCountry uint16
+ FwCodePage uint16
+} /* crtdefs.h:422:1 */
+
+type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
+type LPLC_ID = uintptr /* crtdefs.h:439:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
+
+type Wctrans_t = Wchar_t /* wctype.h:174:19 */
+
+var _ int8 /* gen.c:2:13: */